Random crashes in cairo upon zooming/panning
"
Summary:
Frequent crash when zooming or panning with filter gallery open. Likely a regression from 1.4.x (can't reproduce there after trying for quite a while).
Steps to reproduce:
- open test file with Inkscape
open filter gallery (I'm not 100% sure if tihis is necessary, but I haven't been able to reproduce otherwise)- zoom around the
filteredobject
What happened?
Crash
Thread 1 "inkscape-dev" received signal SIGSEGV, Segmentation fault.
0x00007ffff55a356c in _cairo_clip_intersect_clip () from /lib64/libcairo.so.2
(gdb) bt
#0 0x00007ffff55a356c in _cairo_clip_intersect_clip () at /lib64/libcairo.so.2
#1 0x00007ffff55ee395 in _cairo_surface_wrapper_get_clip.lto_priv.0 () at /lib64/libcairo.so.2
#2 0x00007ffff55eff1c in _cairo_surface_wrapper_paint () at /lib64/libcairo.so.2
#3 0x00007ffff55e0c8f in _cairo_recording_surface_replay_internal.lto_priv.0 () at /lib64/libcairo.so.2
#4 0x00007ffff55ecc24 in clip_and_composite_boxes.part () at /lib64/libcairo.so.2
#5 0x00007ffff55ed005 in _cairo_spans_compositor_mask.lto_priv.0 () at /lib64/libcairo.so.2
#6 0x00007ffff55a23a1 in _cairo_compositor_paint () at /lib64/libcairo.so.2
#7 0x00007ffff55f8a9f in _cairo_surface_paint () at /lib64/libcairo.so.2
#8 0x00007ffff55ade7e in _cairo_gstate_paint () at /lib64/libcairo.so.2
#9 0x00007ffff5602ef1 in cairo_paint () at /lib64/libcairo.so.2
#10 0x00007ffff3e1cfd2 in gsk_render_node_draw_ccs () at /lib64/libgtk-4.so.1
#11 0x00007ffff3e1d436 in gsk_render_node_draw_fallback () at /lib64/libgtk-4.so.1
#12 0x00007ffff3e93243 in gsk_gpu_upload_cairo_op_draw () at /lib64/libgtk-4.so.1
#13 0x00007ffff3e96567 in gsk_gpu_upload_op_vk_command_with_area () at /lib64/libgtk-4.so.1
#14 0x00007ffff3e9679d in gsk_gpu_upload_cairo_op_vk_command () at /lib64/libgtk-4.so.1
#15 0x00007ffff3e9c6dc in gsk_vulkan_frame_submit.lto_priv () at /lib64/libgtk-4.so.1
#16 0x00007ffff3e9aaaf in gsk_gpu_renderer_render () at /lib64/libgtk-4.so.1
#17 0x00007ffff3e21899 in gsk_renderer_render () at /lib64/libgtk-4.so.1
#18 0x00007ffff3c022e4 in gtk_widget_render () at /lib64/libgtk-4.so.1
#19 0x00007ffff3c03519 in surface_render () at /lib64/libgtk-4.so.1
#20 0x00007ffff3d6e899 in _gdk_marshal_BOOLEAN__BOXEDv () at /lib64/libgtk-4.so.1
#21 0x00007ffff5afc55c in signal_emit_valist_unlocked () at /lib64/libgobject-2.0.so.0
#22 0x00007ffff5afc671 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#23 0x00007ffff5afc733 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#24 0x00007ffff3dff629 in gdk_surface_paint_on_clock () at /lib64/libgtk-4.so.1
#25 0x00007ffff5adb7da in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#26 0x00007ffff5b0b8f3 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#27 0x00007ffff5afc3e9 in signal_emit_valist_unlocked () at /lib64/libgobject-2.0.so.0
#28 0x00007ffff5afc671 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#29 0x00007ffff5afc733 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#30 0x00007ffff3de3ccd in gdk_frame_clock_paint_idle () at /lib64/libgtk-4.so.1
#31 0x00007ffff51dd519 in g_timeout_dispatch () at /lib64/libglib-2.0.so.0
#32 0x00007ffff51d728c in g_main_context_dispatch_unlocked.lto_priv () at /lib64/libglib-2.0.so.0
#33 0x00007ffff52377b8 in g_main_context_iterate_unlocked.isra () at /lib64/libglib-2.0.so.0
#34 0x00007ffff51d8783 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#35 0x00007ffff46e0dcd in g_application_run () at /lib64/libgio-2.0.so.0
#36 0x0000000000205348 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/c++/14/bits/shared_ptr_base.h:1666
What should have happened?
No crash
Sample attachments:
Version info
Inkscape 1.5-dev (36259df9a4, 2024-12-19, custom)
Compile (Run)
GLib version: 2.82.2
GTK version: 4.16.3 (4.16.3)
glibmm version: 2.82.0
gtkmm version: 4.16.0
libxml2 version: 2.12.8
libxslt version: 1.1.42
Cairo version: 1.18.0 (1.18.0)
Pango version: 1.54.0 (1.54.0)
HarfBuzz version: 9.0.0 (9.0.0)
Poppler version: 24.08.0
OS version: Fedora Linux 41 (Workstation Edition)
"
Edited by KrIr17