1.5-dev: Dragging sliders in Simply LPE hangs Inkscape
Summary:
Dragging the complexity sliders quickly to the left in the Simplify LPE makes Inkscape hang. (On subsequent crashes it seems that Inkscape has a hard time processing complexities under 0.5.) An attempt to crash Inkscape gives the following backtrace:
0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 1# 0x00007F5F8B243870 in /lib64/libc.so.6 2# Path::AttemptSimplify(Path::fitting_tables&, double, PathDescrCubicTo&, int&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 3# Path::DoSimplify(int, int, double) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 4# Path::Simplify(double) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 5# Inkscape::LivePathEffect::LPESimplify::doEffect(SPCurve*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 6# SPLPEItem::performOnePathEffect(SPCurve*, SPShape*, Inkscape::LivePathEffect::Effect*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 7# SPLPEItem::performPathEffect(SPCurve*, SPShape*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 8# SPShape::update_patheffect(bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 9# sp_lpe_item_update_patheffect(SPLPEItem*, bool, bool, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 10# sigc::internal::signal_emit::emit(std::shared_ptr const&, SPObject* const&, unsigned int const&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 11# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 12# SPDefs::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 13# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 14# SPGroup::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 15# SPRoot::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 16# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 17# SPDocument::_emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 18# SPDocument::_updateDocument(int, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 19# SPDocument::ensureUpToDate(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 20# Inkscape::DocumentUndo::maybeDone(SPDocument*, char const*, Glib::ustring const&, Glib::ustring const&, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 21# Inkscape::UI::Widget::RegisteredScalar::on_value_changed() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0 22# Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) in /usr/lib64/libglibmm-2.68.so.1 23# 0x00007F5F8E9FE861 in /usr/lib64/libgobject-2.0.so.0 24# 0x00007F5F8EA12DC2 in /usr/lib64/libgobject-2.0.so.0 25# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 26# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 27# 0x00007F5F8C845E44 in /usr/lib64/libgtk-4.so.1 28# g_closure_invoke in /usr/lib64/libgobject-2.0.so.0 29# 0x00007F5F8EA11359 in /usr/lib64/libgobject-2.0.so.0 30# 0x00007F5F8EA12C8E in /usr/lib64/libgobject-2.0.so.0 31# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 32# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 33# 0x00007F5F8C6FDAA7 in /usr/lib64/libgtk-4.so.1 34# 0x00007F5F8C80D61C in /usr/lib64/libgtk-4.so.1 35# 0x00007F5F8C6E53ED in /usr/lib64/libgtk-4.so.1 36# 0x00007F5F8E9FE861 in /usr/lib64/libgobject-2.0.so.0 37# 0x00007F5F8EA120CB in /usr/lib64/libgobject-2.0.so.0 38# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 39# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 40# 0x00007F5F8C80C564 in /usr/lib64/libgtk-4.so.1 41# 0x00007F5F8C80EB79 in /usr/lib64/libgtk-4.so.1 42# 0x00007F5F8C6E89FA in /usr/lib64/libgtk-4.so.1 43# 0x00007F5F8E9FE861 in /usr/lib64/libgobject-2.0.so.0 44# 0x00007F5F8EA12DC2 in /usr/lib64/libgobject-2.0.so.0 45# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 46# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 47# g_cclosure_marshal_VOID__BOXEDv in /usr/lib64/libgobject-2.0.so.0 48# 0x00007F5F8E9FE861 in /usr/lib64/libgobject-2.0.so.0 49# 0x00007F5F8EA12DC2 in /usr/lib64/libgobject-2.0.so.0 50# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 51# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 52# 0x00007F5F8C798BCD in /usr/lib64/libgtk-4.so.1 53# 0x00007F5F8C79BAFE in /usr/lib64/libgtk-4.so.1 54# 0x00007F5F8C76962A in /usr/lib64/libgtk-4.so.1 55# 0x00007F5F8C8AD04C in /usr/lib64/libgtk-4.so.1 56# 0x00007F5F8C7D8886 in /usr/lib64/libgtk-4.so.1 57# 0x00007F5F8C7D8DC3 in /usr/lib64/libgtk-4.so.1 58# 0x00007F5F8CA37D02 in /usr/lib64/libgtk-4.so.1 59# 0x00007F5F8CAC59B5 in /usr/lib64/libgtk-4.so.1 60# 0x00007F5F8E9FE861 in /usr/lib64/libgobject-2.0.so.0 61# 0x00007F5F8EA120CB in /usr/lib64/libgobject-2.0.so.0 62# g_signal_emit_valist in /usr/lib64/libgobject-2.0.so.0 63# g_signal_emit in /usr/lib64/libgobject-2.0.so.0 64# 0x00007F5F8CAC93F9 in /usr/lib64/libgtk-4.so.1 65# 0x00007F5F8CA4CC0A in /usr/lib64/libgtk-4.so.1 66# 0x00007F5F8E2FD7C5 in /usr/lib64/libglib-2.0.so.0 67# 0x00007F5F8E2FF7B7 in /usr/lib64/libglib-2.0.so.0 68# g_main_context_iteration in /usr/lib64/libglib-2.0.so.0 69# g_application_run in /usr/lib64/libgio-2.0.so.0 70# main in /usr/bin/inkscape 71# 0x00007F5F8B22AB17 in /lib64/libc.so.6 72# __libc_start_main in /lib64/libc.so.6 73# _start in /usr/bin/inkscape
System info
Inkscape 1.5-dev (8478dd725e, 2025-06-03, custom) Compile (Run)
GLib version: 2.84.1
GTK version: 4.18.3 (4.18.3)
glibmm version: 2.84.0
gtkmm version: 4.18.0
libxml2 version: 2.13.7
libxslt version: 1.1.43
Cairo version: 1.18.4 (1.18.4)
Pango version: 1.56.3 (1.56.3)
HarfBuzz version: 11.0.0 (11.0.0)
Poppler version: 25.04.0
OS version: Slackware 15.0 x86_64 (post 15.0 -current)
The second time I tried the crash it has a new line in the backtrace:
Path::RaffineTk(Geom::Point, Geom::Point, Geom::Point, Geom::Point, Geom::Point, double) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.5.0.0
Steps to reproduce:
- open Inkscape
- draw a rectangle
- apply the Simplify LPE
- drag the complexity slider quickly to the left
What happened?
Inkscape hangs.
What should have happened?
The operation doesn't hang Inkscape.
Version info
Inkscape 1.5-dev (8478dd725e, 2025-06-03, custom)
Compile (Run)
GLib version: 2.84.1
GTK version: 4.18.3 (4.18.3)
glibmm version: 2.84.0
gtkmm version: 4.18.0
libxml2 version: 2.13.7
libxslt version: 1.1.43
Cairo version: 1.18.4 (1.18.4)
Pango version: 1.56.3 (1.56.3)
HarfBuzz version: 11.0.0 (11.0.0)
Poppler version: 25.04.0
OS version: Slackware 15.0 x86_64 (post 15.0 -current)
Edited by Willy (Wen-Wei) Kao