Inkscape crashes when Exporting a Large PNG File from an SVG with over 20 Layers (Intermittent)
Summary:
When I export a PNG of 16000 x 9000 px at 96 PPI through the Inkscape Editor on an SVG file that is a bunch of overlapping rectangles transitioning from red to green, the editor crashes, and I don't get a PNG file.
This is not an issue that happens in every SVG file; it's intermittent.
Steps to reproduce:
- Open the SVG file from the Sample Attachments section at the bottom.
- Open the Export Panel, either Shift + Ctrl + E, or the Open Export icon on the right-hand toolbar.
- Make sure the width is 16000 px, and height is 9000 px, at 96 DPI.
- Choose a file location easy to reach, such as Desktop.
- Click "Export."
What happened?
I get this stack trace in the crash window:
0# boost::stacktrace::basic_stacktrace >::init(unsigned long long, unsigned long long) in libinkscape_base 1# Inkscape::Application::crash_handler(int) in libinkscape_base 2# 0x00007FF6BE6B21B2 in inkscape 3# _C_specific_handler in ntdll 4# _chkstk in ntdll 5# _RtlRaiseException in ntdll 6# _KiUserExceptionDispatcher in ntdll 7# _memcpy in msvcrt 8# ink_cairo_surface_copy(_cairo_surface*) in libinkscape_base 9# Inkscape::Filters::FilterGaussian::render_cairo(Inkscape::Filters::FilterSlot&) const in libinkscape_base 10# Inkscape::Filters::Filter::render(Inkscape::DrawingItem const*, Inkscape::DrawingContext&, Inkscape::DrawingContext*, Inkscape::RenderContext&) const in libinkscape_base 11# Inkscape::DrawingItem::render(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 12# Inkscape::DrawingGroup::_renderItem(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 13# Inkscape::DrawingItem::render(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 14# Inkscape::DrawingGroup::_renderItem(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 15# Inkscape::DrawingItem::render(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 16# Inkscape::DrawingGroup::_renderItem(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 17# Inkscape::DrawingItem::render(Inkscape::DrawingContext&, Inkscape::RenderContext&, Geom::GenericRect const&, unsigned int, Inkscape::DrawingItem const*) const in libinkscape_base 18# Inkscape::Drawing::render(Inkscape::DrawingContext&, Geom::GenericRect const&, unsigned int, int) const in libinkscape_base 19# sp_generate_internal_bitmap(SPDocument*, Geom::Rect const&, double, std::vector >, bool, unsigned int const*, double) in libinkscape_base 20# PngTextList::add(char const*, char const*) in libinkscape_base 21# sp_export_png_file(SPDocument*, char const*, Geom::Rect const&, unsigned long, unsigned long, double, double, unsigned long, unsigned int (*)(float, void*), void*, bool, std::vector > const&, bool, int, int, int, int) in libinkscape_base 22# Inkscape::UI::Dialog::Export::exportRaster(Geom::Rect const&, unsigned long const&, unsigned long const&, float const&, unsigned int, Glib::ustring const&, bool, unsigned int (*)(float, void*), void*, Inkscape::Extension::Output*, std::vector >*) in libinkscape_base 23# Inkscape::UI::Dialog::SingleExport::onExport() in libinkscape_base 24# Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) in libglibmm_2_4_1 25# _g_closure_invoke in libgobject_2_0_0 26# _g_param_spec_variant in libgobject_2_0_0 27# _g_signal_emit_valist in libgobject_2_0_0 28# _g_signal_emit in libgobject_2_0_0 29# _gtk_button_clicked in libgtk_3_0 30# Gtk::Button_Class::released_callback(_GtkButton*) in libgtkmm_3_0_1 31# _g_closure_invoke in libgobject_2_0_0 32# _g_signal_emit_valist in libgobject_2_0_0 33# _g_signal_emit in libgobject_2_0_0 34# _gtk_builder_get_application in libgtk_3_0 35# _g_closure_invoke in libgobject_2_0_0 36# _g_signal_emit_valist in libgobject_2_0_0 37# _g_signal_emit in libgobject_2_0_0 38# _gtk_gesture_long_press_new in libgtk_3_0 39# _g_cclosure_marshal_VOID__BOXEDv in libgobject_2_0_0 40# _g_closure_invoke in libgobject_2_0_0 41# _g_signal_emit_valist in libgobject_2_0_0 42# _g_signal_emit in libgobject_2_0_0 43# _gtk_glade_catalog_init in libgtk_3_0 44# _gtk_gesture_handles_sequence in libgtk_3_0 45# _gtk_gesture_rotate_get_angle_delta in libgtk_3_0 46# _gtk_event_controller_handle_event in libgtk_3_0 47# _gtk_requisition_free in libgtk_3_0 48# Gtk::Widget::on_button_release_event(_GdkEventButton*) in libgtkmm_3_0_1 49# Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) in libgtkmm_3_0_1 50# 0x00007FFEB1DD2F94 in libgtk_3_0 51# _g_closure_invoke in libgobject_2_0_0 52# _g_signal_emit_valist in libgobject_2_0_0 53# _g_signal_emit in libgobject_2_0_0 54# _gtk_requisition_copy in libgtk_3_0 55# _gtk_lock_button_set_permission in libgtk_3_0 56# _gtk_main_do_event in libgtk_3_0 57# _gdk_event_free in libgdk_3_0 58# _gdk_win32_drag_context_get_type in libgdk_3_0 59# _g_clear_list in libglib_2_0_0 60# _g_main_context_check in libglib_2_0_0 61# _g_main_context_iteration in libglib_2_0_0 62# _g_application_run in libgio_2_0_0 63# 0x00007FF6BE6B37BB in inkscape 64# 0x00007FF6BE6B12EE in inkscape 65# 0x00007FF6BE6B13E6 in inkscape 66# _BaseThreadInitThunk in KERNEL32 67# _RtlUserThreadStart in ntdll
System info
Inkscape 1.3 (0e150ed6, 2023-07-21)GLib version: 2.76.4
GTK version: 3.24.38
glibmm version: 2.66.6
gtkmm version: 3.24.7
libxml2 version: 2.11.4
libxslt version: 1.1.38
Cairo version: 1.17.7
Pango version: 1.50.14
HarfBuzz version: 8.0.1
OS version: Windows 10 22H2
What should have happened?
A 16000 x 9000 px PNG file should appear in the location defined.
Sample attachments:
Version info
Inkscape 1.3. Additional version info is in the stack trace output above.
Computer and OS specs (only in case the issue is related to hardware)
Alienware 15 R3 Processor Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2.80 GHz Installed RAM 16.0 GB (15.9 GB usable) System type 64-bit operating system, x64-based processor Pen and touch No pen or touch input is available for this display
Edition Windows 10 Education Version 22H2 Installed on 01-Mar-2021 OS build 19045.3208 Experience Windows Feature Experience Pack 1000.19041.1000.0