• Dmitry Kazakov's avatar
    Fix random crash when swap-file location has not got enough disk space · ac020c6c
    Dmitry Kazakov authored
    Lockfree hash table iterators have a requirement of no-concurrent-inserts,
    so we must ensure that the swapper and pooler do *not* insert any tiles,
    why iteration is in progress. KisTileDataStore::trySwapTileData() is called
    exactly from inside of the swapper iteration loop.
    
    If we break this requirement, the insert operation may request a table
    migration, and the iterator will continue iterating the old, invalid,
    table.
    
    The actual crash happened after line 'item = iter->next()' in
    KisTileDataSwapper::pass(), which actually returned value '1', meaning
    "Redirect". Address 0x0000000000000029 is a fetch of
    KisTileData::m_mementoFlag (offset 0x28) with 'this' set to 0x01 :)
    
    BUG:411081
    ac020c6c
Name
Last commit
Last update
..
3rdparty Loading commit data...
brushengine Loading commit data...
bsplines Loading commit data...
commands Loading commit data...
commands_new Loading commit data...
filter Loading commit data...
floodfill Loading commit data...
generator Loading commit data...
layerstyles Loading commit data...
lazybrush Loading commit data...
processing Loading commit data...
tests Loading commit data...
tiles3 Loading commit data...
CMakeLists.txt Loading commit data...
KisDelayedUpdateNodeInterface.cpp Loading commit data...
KisDelayedUpdateNodeInterface.h Loading commit data...
KisFakeRunnableStrokeJobsExecutor.cpp Loading commit data...
KisFakeRunnableStrokeJobsExecutor.h Loading commit data...
KisFastDeviceProcessingUtils.h Loading commit data...
KisImageConfigNotifier.cpp Loading commit data...
KisImageConfigNotifier.h Loading commit data...
KisImageSignals.cpp Loading commit data...
KisImageSignals.h Loading commit data...
KisLazyStorage.h Loading commit data...
KisOptimizedByteArray.cpp Loading commit data...
KisOptimizedByteArray.h Loading commit data...
KisPrecisePaintDeviceWrapper.cpp Loading commit data...
KisPrecisePaintDeviceWrapper.h Loading commit data...
KisProofingConfiguration.cpp Loading commit data...
KisProofingConfiguration.h Loading commit data...
KisRecycleProjectionsJob.cpp Loading commit data...
KisRecycleProjectionsJob.h Loading commit data...
KisRenderedDab.h Loading commit data...
KisRunnableBasedStrokeStrategy.cpp Loading commit data...
KisRunnableBasedStrokeStrategy.h Loading commit data...
KisRunnableStrokeJobData.cpp Loading commit data...
KisRunnableStrokeJobData.h Loading commit data...
KisRunnableStrokeJobDataBase.cpp Loading commit data...
KisRunnableStrokeJobDataBase.h Loading commit data...
KisRunnableStrokeJobUtils.h Loading commit data...
KisRunnableStrokeJobsInterface.cpp Loading commit data...
KisRunnableStrokeJobsInterface.h Loading commit data...
KisSafeNodeProjectionStore.cpp Loading commit data...
KisSafeNodeProjectionStore.h Loading commit data...
KisSelectionTags.h Loading commit data...
KisSelectionUpdateCompressor.cpp Loading commit data...
KisSelectionUpdateCompressor.h Loading commit data...
KisSequentialIteratorProgress.h Loading commit data...
KisStrokesQueueMutatedJobInterface.cpp Loading commit data...
KisStrokesQueueMutatedJobInterface.h Loading commit data...
KisUpdaterContextSnapshotEx.h Loading commit data...
Mainpage.dox Loading commit data...
kis_abstract_projection_plane.cpp Loading commit data...
kis_abstract_projection_plane.h Loading commit data...
kis_adjustment_layer.cc Loading commit data...
kis_adjustment_layer.h Loading commit data...
kis_annotation.h Loading commit data...
kis_antialiasing_fade_maker.h Loading commit data...
kis_async_merger.cpp Loading commit data...
kis_async_merger.h Loading commit data...
kis_base_accessor.cpp Loading commit data...
kis_base_accessor.h Loading commit data...
kis_base_mask_generator.cpp Loading commit data...
kis_base_mask_generator.h Loading commit data...
kis_base_node.cpp Loading commit data...
kis_base_node.h Loading commit data...
kis_base_processor.cpp Loading commit data...
kis_base_processor.h Loading commit data...
kis_base_rects_walker.h Loading commit data...
kis_bookmarked_configuration_manager.cc Loading commit data...
kis_bookmarked_configuration_manager.h Loading commit data...
kis_brush_mask_applicator_base.h Loading commit data...
kis_brush_mask_applicator_factories.cpp Loading commit data...
kis_brush_mask_applicator_factories.h Loading commit data...
kis_brush_mask_applicators.h Loading commit data...
kis_busy_progress_indicator.cpp Loading commit data...
kis_busy_progress_indicator.h Loading commit data...
kis_cached_gradient_shape_strategy.cpp Loading commit data...
kis_cached_gradient_shape_strategy.h Loading commit data...
kis_cached_paint_device.h Loading commit data...
kis_cage_transform_worker.cpp Loading commit data...
kis_cage_transform_worker.h Loading commit data...
kis_change_profile_visitor.h Loading commit data...
kis_circle_mask_generator.cpp Loading commit data...
kis_circle_mask_generator.h Loading commit data...
kis_circle_mask_generator_p.h Loading commit data...
kis_clone_layer.cpp Loading commit data...
kis_clone_layer.h Loading commit data...
kis_colorspace_convert_visitor.cpp Loading commit data...
kis_colorspace_convert_visitor.h Loading commit data...
kis_composite_progress_proxy.cpp Loading commit data...
kis_composite_progress_proxy.h Loading commit data...
kis_config_widget.cpp Loading commit data...
kis_config_widget.h Loading commit data...
kis_convolution_kernel.cc Loading commit data...
kis_convolution_kernel.h Loading commit data...
kis_convolution_painter.cc Loading commit data...
kis_convolution_painter.h Loading commit data...
kis_convolution_worker.h Loading commit data...
kis_convolution_worker_fft.h Loading commit data...
kis_convolution_worker_spatial.h Loading commit data...
kis_count_visitor.cpp Loading commit data...
kis_count_visitor.h Loading commit data...
kis_crop_saved_extra_data.cpp Loading commit data...
kis_crop_saved_extra_data.h Loading commit data...
kis_cross_device_color_picker.h Loading commit data...
kis_cubic_curve.cpp Loading commit data...
kis_cubic_curve.h Loading commit data...
kis_curve_circle_mask_generator.cpp Loading commit data...
kis_curve_circle_mask_generator.h Loading commit data...
kis_curve_circle_mask_generator_p.h Loading commit data...
kis_curve_rect_mask_generator.cpp Loading commit data...
kis_curve_rect_mask_generator.h Loading commit data...
kis_curve_rect_mask_generator_p.h Loading commit data...
kis_datamanager.h Loading commit data...
kis_default_bounds.cpp Loading commit data...
kis_default_bounds.h Loading commit data...
kis_default_bounds_base.cpp Loading commit data...
kis_default_bounds_base.h Loading commit data...
kis_distance_information.cpp Loading commit data...
kis_distance_information.h Loading commit data...
kis_do_something_command.h Loading commit data...
kis_edge_detection_kernel.cpp Loading commit data...
kis_edge_detection_kernel.h Loading commit data...
kis_effect_mask.cc Loading commit data...
kis_effect_mask.h Loading commit data...
kis_exif_info_visitor.h Loading commit data...
kis_external_layer_iface.h Loading commit data...
kis_fast_math.cpp Loading commit data...
kis_fast_math.h Loading commit data...
kis_fill_painter.cc Loading commit data...
kis_fill_painter.h Loading commit data...
kis_filter_mask.cpp Loading commit data...
kis_filter_mask.h Loading commit data...
kis_filter_strategy.cc Loading commit data...
kis_filter_strategy.h Loading commit data...
kis_filter_weights_applicator.h Loading commit data...
kis_filter_weights_buffer.h Loading commit data...
kis_fixed_paint_device.cpp Loading commit data...
kis_fixed_paint_device.h Loading commit data...
kis_fixed_point_maths.h Loading commit data...
kis_four_point_interpolator_backward.h Loading commit data...
kis_four_point_interpolator_forward.h Loading commit data...
kis_full_refresh_walker.h Loading commit data...
kis_gauss_circle_mask_generator.cpp Loading commit data...
kis_gauss_circle_mask_generator.h Loading commit data...
kis_gauss_circle_mask_generator_p.h Loading commit data...
kis_gauss_rect_mask_generator.cpp Loading commit data...
kis_gauss_rect_mask_generator.h Loading commit data...
kis_gauss_rect_mask_generator_p.h Loading commit data...
kis_gaussian_kernel.cpp Loading commit data...
kis_gaussian_kernel.h Loading commit data...
kis_gradient_painter.cc Loading commit data...
kis_gradient_painter.h Loading commit data...
kis_gradient_shape_strategy.cpp Loading commit data...
kis_gradient_shape_strategy.h Loading commit data...
kis_green_coordinates_math.cpp Loading commit data...
kis_green_coordinates_math.h Loading commit data...
kis_grid_interpolation_tools.h Loading commit data...
kis_group_layer.cc Loading commit data...
kis_group_layer.h Loading commit data...
kis_histogram.cc Loading commit data...
kis_histogram.h Loading commit data...
kis_idle_watcher.cpp Loading commit data...
kis_idle_watcher.h Loading commit data...
kis_image.cc Loading commit data...
kis_image.h Loading commit data...
kis_image_animation_interface.cpp Loading commit data...
kis_image_animation_interface.h Loading commit data...
kis_image_barrier_lock_adapter.h Loading commit data...
kis_image_barrier_locker.h Loading commit data...
kis_image_config.cpp Loading commit data...
kis_image_config.h Loading commit data...
kis_image_interfaces.cpp Loading commit data...
kis_image_interfaces.h Loading commit data...
kis_image_lock_hijacker.h Loading commit data...
kis_image_signal_router.cpp Loading commit data...
kis_image_signal_router.h Loading commit data...
kis_indirect_painting_support.cpp Loading commit data...
kis_indirect_painting_support.h Loading commit data...
kis_iterator_complete_listener.h Loading commit data...
kis_iterator_ng.cpp Loading commit data...
kis_iterator_ng.h Loading commit data...
kis_keyframe.cpp Loading commit data...
kis_keyframe.h Loading commit data...
kis_keyframe_channel.cpp Loading commit data...
kis_keyframe_channel.h Loading commit data...
kis_keyframe_commands.cpp Loading commit data...
kis_keyframe_commands.h Loading commit data...
kis_layer.cc Loading commit data...
kis_layer.h Loading commit data...
kis_layer_composition.cpp Loading commit data...
kis_layer_composition.h Loading commit data...
kis_layer_projection_plane.cpp Loading commit data...
kis_layer_projection_plane.h Loading commit data...
kis_layer_properties_icons.cpp Loading commit data...
kis_layer_properties_icons.h Loading commit data...
kis_layer_utils.cpp Loading commit data...
kis_layer_utils.h Loading commit data...
kis_lazy_wait_condition.h Loading commit data...
kis_legacy_undo_adapter.cpp Loading commit data...
kis_legacy_undo_adapter.h Loading commit data...
kis_liquify_transform_worker.cpp Loading commit data...
kis_liquify_transform_worker.h Loading commit data...
kis_lock_free_cache.h Loading commit data...
kis_lock_free_lod_counter.h Loading commit data...
kis_locked_settings.h Loading commit data...
kis_lod_capable_layer_offset.cpp Loading commit data...
kis_lod_capable_layer_offset.h Loading commit data...
kis_lod_transform.h Loading commit data...
kis_macro_based_undo_store.cpp Loading commit data...
kis_macro_based_undo_store.h Loading commit data...
kis_marker_painter.cpp Loading commit data...
kis_marker_painter.h Loading commit data...
kis_mask.cc Loading commit data...
kis_mask.h Loading commit data...
kis_mask_generator.h Loading commit data...
kis_mask_projection_plane.cpp Loading commit data...
kis_mask_projection_plane.h Loading commit data...
kis_math_toolbox.cpp Loading commit data...
kis_math_toolbox.h Loading commit data...
kis_memory_statistics_server.cpp Loading commit data...
kis_memory_statistics_server.h Loading commit data...
kis_merge_walker.cc Loading commit data...
kis_merge_walker.h Loading commit data...
kis_name_server.cpp Loading commit data...
kis_name_server.h Loading commit data...
kis_node.cpp Loading commit data...
kis_node.h Loading commit data...
kis_node_facade.cpp Loading commit data...
kis_node_facade.h Loading commit data...
kis_node_filter_interface.cpp Loading commit data...
kis_node_filter_interface.h Loading commit data...
kis_node_graph_listener.cpp Loading commit data...
kis_node_graph_listener.h Loading commit data...
kis_node_progress_proxy.cpp Loading commit data...
kis_node_progress_proxy.h Loading commit data...
kis_node_query_path.cc Loading commit data...
kis_node_query_path.h Loading commit data...
kis_node_uuid_info.cpp Loading commit data...
kis_node_uuid_info.h Loading commit data...
kis_node_visitor.cpp Loading commit data...
kis_node_visitor.h Loading commit data...
kis_onion_skin_cache.cpp Loading commit data...
kis_onion_skin_cache.h Loading commit data...
kis_onion_skin_compositor.cpp Loading commit data...
kis_onion_skin_compositor.h Loading commit data...
kis_outline_generator.cpp Loading commit data...
kis_outline_generator.h Loading commit data...
kis_paint_device.cc Loading commit data...
kis_paint_device.h Loading commit data...
kis_paint_device_cache.h Loading commit data...
kis_paint_device_data.h Loading commit data...
kis_paint_device_debug_utils.cpp Loading commit data...
kis_paint_device_debug_utils.h Loading commit data...
kis_paint_device_frames_interface.h Loading commit data...
kis_paint_device_strategies.h Loading commit data...
kis_paint_device_writer.h Loading commit data...
kis_paint_layer.cc Loading commit data...
kis_paint_layer.h Loading commit data...
kis_painter.cc Loading commit data...
kis_painter.h Loading commit data...
kis_painter_blt_multi_fixed.cpp Loading commit data...
kis_painter_p.h Loading commit data...
kis_perspective_math.cpp Loading commit data...
kis_perspective_math.h Loading commit data...
kis_perspectivetransform_worker.cpp Loading commit data...
kis_perspectivetransform_worker.h Loading commit data...
kis_pinned_shared_ptr.h Loading commit data...
kis_pixel_selection.cpp Loading commit data...
kis_pixel_selection.h Loading commit data...
kis_polygonal_gradient_shape_strategy.cpp Loading commit data...
kis_polygonal_gradient_shape_strategy.h Loading commit data...
kis_post_execution_undo_adapter.cpp Loading commit data...
kis_post_execution_undo_adapter.h Loading commit data...
kis_processing_applicator.cpp Loading commit data...
kis_processing_applicator.h Loading commit data...
kis_processing_information.cpp Loading commit data...
kis_processing_information.h Loading commit data...
kis_processing_visitor.cpp Loading commit data...
kis_processing_visitor.h Loading commit data...
kis_progress_interface.h Loading commit data...
kis_progress_update_helper.h Loading commit data...
kis_progress_updater.cpp Loading commit data...
kis_progress_updater.h Loading commit data...
kis_projection_leaf.cpp Loading commit data...
kis_projection_leaf.h Loading commit data...
kis_projection_updates_filter.cpp Loading commit data...
kis_projection_updates_filter.h Loading commit data...
kis_properties_configuration.cc Loading commit data...
kis_properties_configuration.h Loading commit data...
kis_psd_layer_style.cpp Loading commit data...
kis_psd_layer_style.h Loading commit data...
kis_queues_progress_updater.cpp Loading commit data...
kis_queues_progress_updater.h Loading commit data...
kis_random_accessor_ng.cpp Loading commit data...
kis_random_accessor_ng.h Loading commit data...
kis_random_generator.cc Loading commit data...
kis_random_generator.h Loading commit data...
kis_random_sub_accessor.cpp Loading commit data...
kis_random_sub_accessor.h Loading commit data...
kis_raster_keyframe_channel.cpp Loading commit data...
kis_raster_keyframe_channel.h Loading commit data...
kis_recalculate_generator_layer_job.cpp Loading commit data...
kis_recalculate_generator_layer_job.h Loading commit data...
kis_recalculate_transform_mask_job.cpp Loading commit data...
kis_recalculate_transform_mask_job.h Loading commit data...
kis_rect_mask_generator.cpp Loading commit data...
kis_rect_mask_generator.h Loading commit data...
kis_rect_mask_generator_p.h Loading commit data...
kis_refresh_subtree_walker.h Loading commit data...
kis_regenerate_frame_stroke_strategy.cpp Loading commit data...
kis_regenerate_frame_stroke_strategy.h Loading commit data...
kis_repeat_iterators_pixel.h Loading commit data...
kis_restricted_shared_ptr.h Loading commit data...
kis_runnable.h Loading commit data...
kis_safe_read_list.h Loading commit data...
kis_safe_transform.cpp Loading commit data...
kis_safe_transform.h Loading commit data...
kis_scalar_keyframe_channel.cpp Loading commit data...
kis_scalar_keyframe_channel.h Loading commit data...
kis_selection.cc Loading commit data...
kis_selection.h Loading commit data...
kis_selection_based_layer.cpp Loading commit data...
kis_selection_based_layer.h Loading commit data...
kis_selection_component.h Loading commit data...
kis_selection_filters.cpp Loading commit data...
kis_selection_filters.h Loading commit data...
kis_selection_mask.cpp Loading commit data...
kis_selection_mask.h Loading commit data...
kis_sequential_iterator.h Loading commit data...
kis_serializable_configuration.cc Loading commit data...
kis_serializable_configuration.h Loading commit data...
kis_simple_stroke_strategy.cpp Loading commit data...
kis_simple_stroke_strategy.h Loading commit data...
kis_simple_update_queue.cpp Loading commit data...
kis_simple_update_queue.h Loading commit data...
kis_spacing_information.h Loading commit data...
kis_spontaneous_job.cpp Loading commit data...
kis_spontaneous_job.h Loading commit data...
kis_stroke.cpp Loading commit data...
kis_stroke.h Loading commit data...
kis_stroke_job.h Loading commit data...
kis_stroke_job_strategy.cpp Loading commit data...
kis_stroke_job_strategy.h Loading commit data...
kis_stroke_strategy.cpp Loading commit data...
kis_stroke_strategy.h Loading commit data...
kis_stroke_strategy_factory.h Loading commit data...
kis_stroke_strategy_undo_command_based.cpp Loading commit data...
kis_stroke_strategy_undo_command_based.h Loading commit data...
kis_strokes_queue.cpp Loading commit data...
kis_strokes_queue.h Loading commit data...
kis_strokes_queue_undo_result.h Loading commit data...
kis_surrogate_undo_adapter.cpp Loading commit data...
kis_surrogate_undo_adapter.h Loading commit data...
kis_suspend_projection_updates_stroke_strategy.cpp Loading commit data...
kis_suspend_projection_updates_stroke_strategy.h Loading commit data...
kis_switch_time_stroke_strategy.cpp Loading commit data...
kis_switch_time_stroke_strategy.h Loading commit data...
kis_sync_lod_cache_stroke_strategy.cpp Loading commit data...
kis_sync_lod_cache_stroke_strategy.h Loading commit data...
kis_threaded_text_rendering_workaround.h Loading commit data...
kis_time_range.cpp Loading commit data...
kis_time_range.h Loading commit data...
kis_timed_signal_threshold.cpp Loading commit data...
kis_timed_signal_threshold.h Loading commit data...
kis_timing_information.h Loading commit data...
kis_transaction.h Loading commit data...
kis_transaction_data.cpp Loading commit data...
kis_transaction_data.h Loading commit data...
kis_transform_mask.cpp Loading commit data...
kis_transform_mask.h Loading commit data...
kis_transform_mask_params_factory_registry.cpp Loading commit data...
kis_transform_mask_params_factory_registry.h Loading commit data...
kis_transform_mask_params_interface.cpp Loading commit data...
kis_transform_mask_params_interface.h Loading commit data...
kis_transform_worker.cc Loading commit data...
kis_transform_worker.h Loading commit data...
kis_transparency_mask.cc Loading commit data...
kis_transparency_mask.h Loading commit data...
kis_types.h Loading commit data...
kis_undo_adapter.cpp Loading commit data...
kis_undo_adapter.h Loading commit data...
kis_update_job_item.cpp Loading commit data...
kis_update_job_item.h Loading commit data...
kis_update_outline_job.cpp Loading commit data...
kis_update_outline_job.h Loading commit data...
kis_update_scheduler.cpp Loading commit data...
kis_update_scheduler.h Loading commit data...
kis_update_selection_job.cpp Loading commit data...
kis_update_selection_job.h Loading commit data...
kis_update_time_monitor.cpp Loading commit data...
kis_update_time_monitor.h Loading commit data...
kis_updater_context.cpp Loading commit data...
kis_updater_context.h Loading commit data...
kis_vec.h Loading commit data...
kis_warptransform_worker.cc Loading commit data...
kis_warptransform_worker.h Loading commit data...
kis_wrapped_hline_iterator.h Loading commit data...
kis_wrapped_line_iterator_base.h Loading commit data...
kis_wrapped_random_accessor.cpp Loading commit data...
kis_wrapped_random_accessor.h Loading commit data...
kis_wrapped_rect.h Loading commit data...
kis_wrapped_vline_iterator.h Loading commit data...
krita_utils.cpp Loading commit data...
krita_utils.h Loading commit data...
rand_salt.h Loading commit data...
vc_extra_math.h Loading commit data...