Created attachment 158595 [details] backtrace SUMMARY Transforming (usually rotation) contents of a selection on a large canvas animation frame crashes Krita. This doesn't happen every time but it's very frequent. I couldn't reproduce this behavior in version 5.1.4 (appimages and Arch version). Also seems to be happening in Krita Next. STEPS TO REPRODUCE 1. Use Krita 5.1.5/Next (appimage/arch version) 2. Have a large number of keyframes in an animation with a large canvas size (~2500x3500px). 3. Select a small area and try to transform the contents by rotating, moving etc. OBSERVED RESULT Krita will sometimes freeze up and eventually crash. EXPECTED RESULT Krita shouldn't crash and I should be able to transform the selection contents. SOFTWARE/OS VERSIONS Linux: Arch Linux, Linux 6.2.12-arch1-1 KDE Plasma Version: N/A KDE Frameworks Version: N/A Qt Version: 5.15.9 SwayWM (Wayland) ADDITIONAL INFORMATION Relevant forum post on krita-artists.org with some more strange 5.1.5 behavior reported by another user. https://krita-artists.org/t/krita-crashing-when-transforming-in-animation-workspace/64194/1 .kra file https://pixeldrain.com/u/irE3yKJd I've only encountered this crash in Animation mode. NOTE: I am very new to this so it's possible that the backtrace is not correct. I got it from coredumpctl gdb krita. Let me know if you need any other info.
Hm, the crash happens in the nvidia opengl driver: /usr/lib/libnvidia-glcore.so.530.41.03 which likely means that it's not something we can fix ourselves, but the gpu/driver simply cannot handle what you're asking of it.
I cannot reproduce with this file: but I'm on a PC with an intel gpu.
I don't see the behaviour reported with the animation .kra file provided (jump.kra) with 5.1.4 or 5.1.5 or the 5.2.0 prealpha (96efda7010) appimages. In the linked forum topic, I noted that the canvas turned black when a large canvas animation was played with the 5.1.5 appimage. However, this was with an isolated home environment 5.1.5 appimage and that does not happen in the standard 'common' environment with the 5.1.5 appimage or with 5.1.4 or the 5.2.0 prealpha. I will investigate that further as a separate issue.
Here is the system information for my PC: Krita Version: 5.1.5 Hidpi: false Qt Version (compiled): 5.12.12 Version (loaded): 5.12.12 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 4.19.0-23-amd64 Pretty Productname: Debian GNU/Linux 10 (buster) Product Type: debian Product Version: 10 Desktop: MATE Locale Languages: en_GB, en C locale: en_GB.UTF-8 QLocale current: en-GB QLocale system: en-GB QTextCodec for locale: UTF-8 OpenGL Info Vendor: "NVIDIA Corporation" Renderer: "NVIDIA GeForce GTX 750 Ti/PCIe/SSE2" Version: "4.6.0 NVIDIA 470.141.03" Shading language: "4.60 NVIDIA" Requested format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Current format: QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile) Version: 4.6 Supports deprecated functions true is OpenGL ES: false supportsBufferMapping: true supportsBufferInvalidation: true forceDisableTextureBuffers: false Extensions: "GL_KHR_no_error" "GL_KHR_robust_buffer_access_behavior" "GL_KHR_parallel_shader_compile" "GL_SGIS_generate_mipmap" "GL_ARB_vertex_type_2_10_10_10_rev" "GL_ARB_occlusion_query2" "GL_EXT_bindable_uniform" "GL_EXT_stencil_two_side" "GL_ARB_texture_env_add" "GL_EXTX_framebuffer_mixed_formats" "GL_NV_register_combiners" "GL_NV_texture_env_combine4" "GL_ARB_internalformat_query" "GL_NV_command_list" "GL_NV_gpu_shader5" "GL_ARB_compute_shader" "GL_ARB_texture_view" "GL_EXT_shadow_funcs" "GL_ARB_uniform_buffer_object" "GL_ARB_gpu_shader_int64" "GL_AMD_multi_draw_indirect" "GL_EXT_point_parameters" "GL_NV_gpu_multicast" "GL_EXT_texture_integer" "GL_ARB_multisample" "GL_ARB_shader_atomic_counter_ops" "GL_EXT_texture_lod" "GL_ARB_copy_buffer" "GL_KHR_robustness" "GL_NV_vertex_attrib_integer_64bit" "GL_NV_alpha_to_coverage_dither_control" "GL_EXT_import_sync_object" "GL_EXT_texture_filter_anisotropic" "GL_NV_vertex_program2" "GL_NV_vertex_program3" "GL_ARB_window_pos" "GL_ARB_copy_image" "GL_ARB_seamless_cube_map" "GL_EXT_texture_env_dot3" "GL_ARB_vertex_attrib_64bit" "GL_ARB_gpu_shader_fp64" "GL_EXT_direct_state_access" "GL_ARB_framebuffer_object" "GL_KHR_context_flush_control" "GL_EXT_texture3D" "GL_EXT_blend_subtract" "GL_ARB_shader_group_vote" "GL_EXT_framebuffer_multisample_blit_scaled" "GL_ARB_tessellation_shader" "GL_NVX_nvenc_interop" "GL_EXT_texture_swizzle" "GL_EXT_blend_minmax" "GL_EXT_compiled_vertex_array" "GL_NV_shader_storage_buffer_object" "GL_ARB_texture_compression_bptc" "GL_NV_fragment_program" "GL_EXT_texture_env_add" "GL_ARB_draw_elements_base_vertex" "GL_EXT_texture_shared_exponent" "GL_ARB_get_texture_sub_image" "GL_IBM_rasterpos_clip" "GL_EXT_polygon_offset_clamp" "GL_NV_compute_program5" "GL_EXT_Cg_shader" "GL_ARB_sync" "GL_ARB_vertex_shader" "GL_ARB_texture_stencil8" "GL_ARB_draw_buffers" "GL_NV_copy_depth_to_color" "GL_NV_vertex_program2_option" "GL_NV_ES1_1_compatibility" "GL_ARB_shading_language_420pack" "GL_EXT_texture_compression_dxt1" "GL_NV_texture_multisample" "GL_ARB_shading_language_include" "GL_OVR_multiview2" "GL_EXT_framebuffer_multisample" "GL_ARB_shader_storage_buffer_object" "GL_NV_shader_atomic_counters" "GL_ARB_shader_atomic_counters" "GL_ARB_query_buffer_object" "GL_ARB_clear_buffer_object" "GL_ARB_texture_compression" "GL_ARB_vertex_array_object" "GL_NV_draw_vulkan_image" "GL_ARB_texture_barrier" "GL_ARB_pipeline_statistics_query" "GL_EXT_multiview_timer_query" "GL_NV_multisample_filter_hint" "GL_EXT_packed_float" "GL_KHR_blend_equation_advanced" "GL_ARB_internalformat_query2" "GL_EXT_texture_cube_map" "GL_EXT_texture_buffer_object" "GL_EXT_window_rectangles" "GL_ARB_compatibility" "GL_ARB_multitexture" "GL_ARB_robustness" "GL_ARB_occlusion_query" "GL_EXT_vertex_array_bgra" "GL_NV_fog_distance" "GL_NV_bindless_multi_draw_indirect_count" "GL_NV_shader_thread_shuffle" "GL_NV_path_rendering" "GL_ARB_texture_query_levels" "GL_ARB_multi_bind" "GL_ARB_parallel_shader_compile" "GL_EXT_packed_depth_stencil" "GL_EXT_texture_env_combine" "GL_EXT_provoking_vertex" "GL_ARB_derivative_control" "GL_ARB_sparse_buffer" "GL_EXT_texture_compression_latc" "GL_ARB_transform_feedback_instanced" "GL_EXT_draw_range_elements" "GL_ARB_geometry_shader4" "GL_EXT_pixel_buffer_object" "GL_NV_internalformat_sample_query" "GL_NV_vertex_program1_1" "GL_ARB_compute_variable_group_size" "GL_EXT_vertex_attrib_64bit" "GL_ARB_depth_buffer_float" "GL_ARB_texture_multisample" "GL_NV_transform_feedback2" "GL_EXT_texture_sRGB" "GL_NV_gpu_program4" "GL_ARB_texture_non_power_of_two" "GL_ARB_texture_rectangle" "GL_NV_gpu_program5" "GL_SGIS_texture_lod" "GL_EXT_fog_coord" "GL_NV_packed_depth_stencil" "GL_ARB_multi_draw_indirect" "GL_ARB_fragment_shader" "GL_ARB_texture_env_crossbar" "GL_EXT_texture_shadow_lod" "GL_NV_bindless_texture" "GL_ARB_blend_func_extended" "GL_NV_bindless_multi_draw_indirect" "GL_ARB_stencil_texturing" "GL_EXT_texture_sRGB_R8" "GL_EXT_semaphore_fd" "GL_EXT_timer_query" "GL_AMD_seamless_cubemap_per_texture" "GL_NV_half_float" "GL_NV_conditional_render" "GL_EXT_blend_color" "GL_ARB_enhanced_layouts" "GL_ARB_fragment_layer_viewport" "GL_NV_shader_atomic_int64" "GL_NV_gpu_program4_1" "GL_ARB_shader_precision" "GL_ARB_ES3_compatibility" "GL_NV_primitive_restart" "GL_ARB_imaging" "GL_ARB_texture_storage_multisample" "GL_ARB_texture_filter_anisotropic" "GL_EXT_draw_instanced" "GL_ARB_draw_instanced" "GL_ARB_texture_compression_rgtc" "GL_ARB_vertex_attrib_binding" "GL_ARB_texture_buffer_range" "GL_EXT_x11_sync_object" "GL_ARB_seamless_cubemap_per_texture" "GL_ARB_point_parameters" "GL_ARB_conservative_depth" "GL_ARB_texture_mirrored_repeat" "GL_ARB_texture_buffer_object" "GL_ARB_half_float_pixel" "GL_ARB_ES3_2_compatibility" "GL_EXT_texture_compression_rgtc" "GL_NV_multisample_coverage" "GL_EXT_texture_edge_clamp" "GL_ARB_timer_query" "GL_EXT_multiview_texture_multisample" "GL_EXT_multi_draw_arrays" "GL_ARB_texture_gather" "GL_EXT_texture_object" "GL_ARB_transform_feedback2" "GL_ARB_transform_feedback3" "GL_NV_vdpau_interop" "GL_SGIX_shadow" "GL_EXT_separate_specular_color" "GL_EXT_separate_shader_objects" "GL_NV_blend_minmax_factor" "GL_ARB_framebuffer_no_attachments" "GL_ARB_texture_query_lod" "GL_ARB_half_float_vertex" "GL_ATI_texture_mirror_once" "GL_ARB_sparse_texture" "GL_NV_gpu_program_fp64" "GL_ARB_texture_storage" "GL_NV_explicit_multisample" "GL_ARB_polygon_offset_clamp" "GL_ARB_gl_spirv" "GL_ARB_shader_objects" "GL_NVX_conditional_render" "GL_ARB_shader_clock" "GL_EXT_packed_pixels" "GL_EXT_texture_sRGB_decode" "GL_EXT_framebuffer_sRGB" "GL_NV_texture_shader" "GL_ARB_shader_texture_image_samples" "GL_ARB_indirect_parameters" "GL_ARB_instanced_arrays" "GL_EXT_framebuffer_blit" "GL_KHR_shader_subgroup" "GL_EXT_shader_image_load_store" "GL_ARB_depth_clamp" "GL_ARB_sampler_objects" "GL_IBM_texture_mirrored_repeat" "GL_ARB_invalidate_subdata" "GL_EXT_semaphore" "GL_ARB_shader_ballot" "GL_ARB_explicit_attrib_location" "GL_ARB_debug_output" "GL_NV_float_buffer" "GL_NV_geometry_shader4" "GL_NV_point_sprite" "GL_ARB_compressed_texture_pixel_storage" "GL_EXT_gpu_shader4" "GL_EXT_vertex_array" "GL_ARB_map_buffer_range" "GL_OVR_multiview" "GL_NV_parameter_buffer_object2" "GL_NV_texture_barrier" "GL_ARB_arrays_of_arrays" "GL_NV_texture_shader2" "GL_ARB_shader_draw_parameters" "GL_NV_texture_shader3" "GL_EXT_blend_equation_separate" "GL_ARB_shader_subroutine" "GL_NV_uniform_buffer_unified_memory" "GL_NV_vertex_buffer_unified_memory" "GL_ARB_texture_cube_map" "GL_ARB_map_buffer_alignment" "GL_ARB_separate_shader_objects" "GL_ARB_direct_state_access" "GL_KTX_buffer_region" "GL_ARB_texture_buffer_object_rgb32" "GL_SGIX_depth_texture" "GL_NV_depth_clamp" "GL_NV_occlusion_query" "GL_NV_register_combiners2" "GL_NV_framebuffer_multisample_coverage" "GL_ARB_draw_buffers_blend" "GL_NV_blend_square" "GL_EXT_texture_storage" "GL_ARB_shading_language_100" "GL_ARB_robust_buffer_access_behavior" "GL_EXT_shader_image_load_formatted" "GL_NV_pixel_data_range" "GL_ARB_fragment_program_shadow" "GL_ARB_program_interface_query" "GL_NV_fragment_program_option" "GL_NV_query_resource" "GL_ARB_depth_texture" "GL_ARB_sample_shading" "GL_EXT_texture_compression_s3tc" "GL_NV_shader_atomic_float" "GL_NVX_gpu_memory_info" "GL_ARB_texture_env_dot3" "GL_EXT_secondary_color" "GL_EXT_texture_array" "GL_KHR_blend_equation_advanced_coherent" "GL_ARB_explicit_uniform_location" "GL_ARB_shader_image_load_store" "GL_ARB_vertex_array_bgra" "GL_EXT_texture_mirror_clamp" "GL_EXT_rescale_normal" "GL_ARB_shading_language_packing" "GL_ARB_viewport_array" "GL_KHR_debug" "GL_EXT_depth_bounds_test" "GL_ARB_texture_float" "GL_NV_transform_feedback" "GL_EXT_abgr" "GL_NV_texture_compression_vtc" "GL_NV_texgen_reflection" "GL_ARB_spirv_extensions" "GL_NV_fence" "GL_EXT_bgra" "GL_EXT_draw_buffers2" "GL_ARB_shader_image_size" "GL_NV_ES3_1_compatibility" "GL_SUN_slice_accum" "GL_ARB_vertex_type_10f_11f_11f_rev" "GL_NV_light_max_exponent" "GL_ARB_clear_texture" "GL_NV_fragment_program2" "GL_ARB_shader_texture_lod" "GL_NV_parameter_buffer_object" "GL_ARB_point_sprite" "GL_NV_gpu_program5_mem_extended" "GL_ARB_vertex_program" "GL_EXT_texture_lod_bias" "GL_NV_vertex_array_range2" "GL_ARB_color_buffer_float" "GL_ARB_texture_border_clamp" "GL_NV_vertex_array_range" "GL_NV_feature_query" "GL_ARB_clip_control" "GL_ARB_texture_rg" "GL_ARB_texture_env_combine" "GL_NVX_progress_fence" "GL_ARB_bindless_texture" "GL_ARB_shader_bit_encoding" "GL_EXT_framebuffer_object" "GL_ARB_fragment_program" "GL_NV_draw_texture" "GL_ARB_conditional_render_inverted" "GL_NV_timeline_semaphore" "GL_ARB_pixel_buffer_object" "GL_NV_texture_rectangle_compressed" "GL_NV_shader_thread_group" "GL_ARB_transpose_matrix" "GL_ARB_texture_cube_map_array" "GL_ARB_cull_distance" "GL_ARB_ES2_compatibility" "GL_EXT_stencil_wrap" "GL_EXT_shader_integer_mix" "GL_NV_depth_buffer_float" "GL_EXT_memory_object" "GL_ARB_draw_indirect" "GL_NV_shader_subgroup_partitioned" "GL_EXT_geometry_shader4" "GL_ARB_gpu_shader5" "GL_ATI_texture_float" "GL_NV_copy_image" "GL_ARB_transform_feedback_overflow_query" "GL_ARB_ES3_1_compatibility" "GL_EXT_transform_feedback2" "GL_NV_vertex_program" "GL_ATI_draw_buffers" "GL_ARB_provoking_vertex" "GL_NV_blend_equation_advanced_coherent" "GL_ARB_vertex_buffer_object" "GL_S3_s3tc" "GL_NV_shader_buffer_load" "GL_ARB_base_instance" "GL_ARB_get_program_binary" "GL_EXT_blend_func_separate" "GL_NV_blend_equation_advanced" "GL_ARB_texture_rgb10_a2ui" "GL_ARB_fragment_coord_conventions" "GL_ARB_texture_mirror_clamp_to_edge" "GL_EXT_memory_object_fd" "GL_NV_query_resource_tag" "GL_ARB_buffer_storage" "GL_ARB_framebuffer_sRGB" "GL_ARB_shadow" "GL_NV_robustness_video_memory_purge" "GL_NV_vdpau_interop2" "GL_ARB_texture_swizzle" "GL_EXT_gpu_program_parameters" "GL_NV_texture_rectangle" QPA OpenGL Detection Info supportsDesktopGL: true supportsOpenGLES: true isQtPreferOpenGLES: false useBufferInvalidation (config option): false Hardware Information GPU Acceleration: auto Memory: 16039 Mb Number of Cores: 8 Swap Location: /tmp Built for: sse2 Base instruction set: sse2 Supported instruction sets: sse4.1 ssse3 sse3 sse2 Current Settings Current Swap Location: /tmp Current Swap Location writable: true Undo Enabled: true Undo Stack Limit: 0 Use OpenGL: true Use OpenGL Texture Buffer: true Disable Vector Optimizations: false Disable AVX Optimizations: false Canvas State: OPENGL_SUCCESS Autosave Interval: 0 Use Backup Files: true Number of Backups Kept: 1 Backup File Suffix: ~ Backup Location: Same Folder as the File Backup Location writable: false Resource Location: /home/adminfrank/FWORK/Iso-Krita/5.1.5/krita-5.1.5.home/.local/share/krita Use Win8 Pointer Input: false Use RightMiddleTabletButton Workaround: false Levels of Detail Enabled: false Use Zip64: false Loaded Python Plugins colorspace comics_project_management_tools documenttools exportlayers filtermanager lastdocumentsdocker mixer_slider_docker plugin_importer quick_settings_docker scripter tenbrushes tenscripts Display Information Number of screens: 2 Screen: 0 Name: DVI-D-1 Depth: 24 Scale: 1 Physical DPI96.2606 Logical DPI96.0118 Physical Size: 338, 270 Position: 1280, 0 Resolution in pixels: 1280x1024 Manufacturer: Dell Inc. Model: DELL 1704FPV- Refresh Rate: 60 Screen: 1 Name: DVI-D-0 Depth: 24 Scale: 1 Physical DPI96.2606 Logical DPI96.0118 Physical Size: 338, 270 Position: 0, 0 Resolution in pixels: 1280x1024 Manufacturer: Dell Inc. Model: DELL 1704FPV- Refresh Rate: 60
(In reply to Halla Rempt from comment #1) > Hm, the crash happens in the nvidia opengl driver: > > /usr/lib/libnvidia-glcore.so.530.41.03 > > which likely means that it's not something we can fix ourselves, but the > gpu/driver simply cannot handle what you're asking of it. This time I ran Krita with the integrated Intel GPU. Krita still crashed. Here's the backtrace. https://pixeldrain.com/u/PPHRXYJQ And as I mentioned in my original post, I can't reproduce this crash in v5.1.4. Something has changed in 5.1.5 that is causing the crash. I think it's worth looking into.
My system info: https://pixeldrain.com/u/T8d5HwAc
(In reply to sbstratos79 from comment #6) > My system info: > https://pixeldrain.com/u/T8d5HwAc System info with integrated Intel GPU: https://pixeldrain.com/u/aSfZuug8
I was wrong with my initial assumption -- it's not gpu related, the backtrace just was confusing.
Git commit 821fedf457686f39de9fdd6fced21f14167dc63f by Dmitry Kazakov. Committed on 22/06/2023 at 11:06. Pushed by dkazakov into branch 'master'. Fix transform tool to work on animated images We shouldn't try to continue transformation from the previous undo command if the actual anamation time has changed since then M +26 -10 plugins/tools/tool_transform2/kis_transform_utils.cpp M +4 -3 plugins/tools/tool_transform2/kis_transform_utils.h M +5 -0 plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp M +4 -0 plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp M +1 -0 plugins/tools/tool_transform2/strokes/transform_stroke_strategy.h https://invent.kde.org/graphics/krita/-/commit/821fedf457686f39de9fdd6fced21f14167dc63f
I have managed to reproduce the issue with the test image, though it happens only on Linux for some reason... SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 ASSERT (krita): "m_buffer[currentIndex].loadAcquire() >= 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 44 SAFE ASSERT (krita): "oldValue > 0" in file /home/appimage/persistent/krita/libs/image/tiles3/KisTiledExtentManager.cpp, line 94 Aborted (core dumped)
Git commit c0c6abf2aefa9f90ba0c8cdd10d1632e6d9472a2 by Dmitry Kazakov. Committed on 05/07/2023 at 10:46. Pushed by dkazakov into branch 'master'. Don't auto-copy keyframe when source and destination frames are the same Copying causes an update signal to be emitted, which triggers invalid threaded access in some circumstances. M +5 -2 plugins/tools/basictools/strokes/move_selection_stroke_strategy.cpp M +7 -2 plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp M +4 -2 plugins/tools/tool_transform2/strokes/transform_stroke_strategy.cpp https://invent.kde.org/graphics/krita/-/commit/c0c6abf2aefa9f90ba0c8cdd10d1632e6d9472a2
Git commit e39a0cf6dfbd4a59e3a028b78d91fc12283e2064 by Dmitry Kazakov. Committed on 05/07/2023 at 10:46. Pushed by dkazakov into branch 'master'. Make sure lod generation happens under updates locked Updates can come asyncronously via KisNode::handleKeyframeChannelUpdate, when a frame is automatically added via the auto-keyframing feature. To handle this case we should block execution of all the updates for this period of time. M +44 -0 libs/image/KisRunnableStrokeJobUtils.h M +9 -2 libs/image/kis_sync_lod_cache_stroke_strategy.cpp M +3 -1 libs/image/kis_sync_lod_cache_stroke_strategy.h https://invent.kde.org/graphics/krita/-/commit/e39a0cf6dfbd4a59e3a028b78d91fc12283e2064
Git commit 51eaef48b9bec42bdd909a4df4cd66f981e11fc0 by Dmitry Kazakov. Committed on 05/07/2023 at 10:46. Pushed by dkazakov into branch 'master'. Fix multithreading issue in KisUpdaterContext::getJobsSnapshot The crash happens under ASAN when using the Transform Tool. It may also happen in any other tool that uses image->blockUpdates(), that is Move Tool and Color Smudge in Overlay mode. M +29 -4 libs/image/kis_updater_context.cpp https://invent.kde.org/graphics/krita/-/commit/51eaef48b9bec42bdd909a4df4cd66f981e11fc0
Hi, sbstratos79! Thank you very much for all the info (and the test file) you provided. It was a very difficult to track bug, but your info really helped a lot! :)
*** Bug 468545 has been marked as a duplicate of this bug. ***
*** Bug 464610 has been marked as a duplicate of this bug. ***
*** Bug 472637 has been marked as a duplicate of this bug. ***
(In reply to Dmitry Kazakov from comment #14) > Hi, sbstratos79! > > Thank you very much for all the info (and the test file) you provided. It > was a very difficult to track bug, but your info really helped a lot! :) Glad to help! :)
Btw, have these changes been merged in Krita Plus?