Crash on PDF export if object has patterns for both fill and stroke
Summary:
When trying to export the attached SVG file (it was part of a larger file but boiled down to the minimum to make it easier to fix the bug) to PDF, Inkscape crashes with the following message. It seem to be related to the use of patterns for fill and stroke for the test rectangle in the file.
Click to expand the error message
0# Inkscape::Application::crash_handler(int) in /usr/bin/inkscape 1# 0x00007F22BF65FBB0 in /lib64/libc.so.6 2# 0x00007F22BF6B0884 in /lib64/libc.so.6 3# gsignal in /lib64/libc.so.6 4# abort in /lib64/libc.so.6 5# 0x00007F22BF64879B in /lib64/libc.so.6 6# 0x00007F22BF658187 in /lib64/libc.so.6 7# 0x00007F22C1EE6849 in /lib64/libcairo.so.2 8# 0x00007F22C1F6C734 in /lib64/libcairo.so.2 9# 0x00007F22C1F7B79F in /lib64/libcairo.so.2 10# 0x00007F22C1F6B0E5 in /lib64/libcairo.so.2 11# cairo_surface_show_page in /lib64/libcairo.so.2 12# 0x00007F22C1EC78F6 in /lib64/libcairo.so.2 13# cairo_surface_show_page in /lib64/libcairo.so.2 14# 0x00007F22C1EB098D in /lib64/libcairo.so.2 15# cairo_show_page in /lib64/libcairo.so.2 16# Inkscape::Extension::Internal::CairoRenderContext::finish(bool) in /usr/bin/inkscape 17# 0x000055FCBA6F7020 in /usr/bin/inkscape 18# Inkscape::Extension::Internal::CairoRendererPdfOutput::save(Inkscape::Extension::Output*, SPDocument*, char const*) in /usr/bin/inkscape 19# Inkscape::Extension::Output::save(SPDocument*, char const*, bool) in /usr/bin/inkscape 20# Inkscape::UI::Dialog::Export::exportVector(Inkscape::Extension::Output*, SPDocument*, Glib::ustring const&, bool, std::vector > const&, std::vector > const&) in /usr/bin/inkscape 21# Inkscape::UI::Dialog::Export::exportVector(Inkscape::Extension::Output*, SPDocument*, Glib::ustring const&, bool, std::vector > const&, SPPage*) in /usr/bin/inkscape 22# Inkscape::UI::Dialog::SingleExport::onExport() in /usr/bin/inkscape 23# Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) in /lib64/libglibmm-2.4.so.1 24# g_closure_invoke in /lib64/libgobject-2.0.so.0 25# 0x00007F22C17CB15D in /lib64/libgobject-2.0.so.0 26# g_signal_emit_valist in /lib64/libgobject-2.0.so.0 27# g_signal_emit in /lib64/libgobject-2.0.so.0 28# 0x00007F22C00DF2D8 in /lib64/libgtk-3.so.0 29# Gtk::Button_Class::released_callback(_GtkButton*) in /lib64/libgtkmm-3.0.so.1 30# g_signal_emit_valist in /lib64/libgobject-2.0.so.0 31# g_signal_emit in /lib64/libgobject-2.0.so.0 32# 0x00007F22C00DF09D in /lib64/libgtk-3.so.0 33# 0x00007F22C009B8A3 in /lib64/libgtk-3.so.0 34# g_signal_emit_valist in /lib64/libgobject-2.0.so.0 35# g_signal_emit in /lib64/libgobject-2.0.so.0 36# 0x00007F22C01BAEC3 in /lib64/libgtk-3.so.0 37# g_cclosure_marshal_VOID__BOXEDv in /lib64/libgobject-2.0.so.0 38# g_signal_emit_valist in /lib64/libgobject-2.0.so.0 39# g_signal_emit in /lib64/libgobject-2.0.so.0 40# 0x00007F22C01B2ACC in /lib64/libgtk-3.so.0 41# 0x00007F22C01BA89B in /lib64/libgtk-3.so.0 42# 0x00007F22C01BE19A in /lib64/libgtk-3.so.0 43# gtk_event_controller_handle_event in /lib64/libgtk-3.so.0 44# 0x00007F22C0363EB8 in /lib64/libgtk-3.so.0 45# Gtk::Widget::on_button_release_event(_GdkEventButton*) in /lib64/libgtkmm-3.0.so.1 46# Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) in /lib64/libgtkmm-3.0.so.1 47# 0x00007F22C009A047 in /lib64/libgtk-3.so.0 48# g_signal_emit_valist in /lib64/libgobject-2.0.so.0 49# g_signal_emit in /lib64/libgobject-2.0.so.0 50# 0x00007F22C0371434 in /lib64/libgtk-3.so.0 51# 0x00007F22C02085A0 in /lib64/libgtk-3.so.0 52# gtk_main_do_event in /lib64/libgtk-3.so.0 53# 0x00007F22BFF3F417 in /lib64/libgdk-3.so.0 54# 0x00007F22BFF786EE in /lib64/libgdk-3.so.0 55# g_main_context_dispatch in /lib64/libglib-2.0.so.0 56# 0x00007F22C1A7C6B8 in /lib64/libglib-2.0.so.0 57# g_main_context_iteration in /lib64/libglib-2.0.so.0 58# g_application_run in /lib64/libgio-2.0.so.0 59# main in /usr/bin/inkscape 60# 0x00007F22BF649B8A in /lib64/libc.so.6 61# __libc_start_main in /lib64/libc.so.6 62# _start in /usr/bin/inkscape
Steps to reproduce:
- open the attached SVG file with Inkscape
- export the file to PDF (with save as or export dialog)
- now Inkscape crashes
Sample attachments:
Version info
Inkscape 1.3 (0e150ed6c4, 2023-07-21)
GLib version: 2.76.6
GTK version: 3.24.41
glibmm version: 2.66.6
gtkmm version: 3.24.7
libxml2 version: 2.10.4
libxslt version: 1.1.38
Cairo version: 1.17.8
Pango version: 1.50.14
HarfBuzz version: 7.1.0
OS version: Fedora Linux 38 (KDE Plasma)
The bug also occurs on a fresh install of Inkscape 1.3.2 on Windows 10.
Edited by Usb Hub