Clicking on path with power stroke applied crashes Inkscape

Summary:

After editing a file extensively, applying power stroke on a path led to a crash. When opening the emergency save file and clicking on the path, Inkscape crashes again.

Steps to reproduce:

  • open Inkscape
  • click on path ID path488

What happened?

Inkscape crashes with the following backtrace:

 0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
 1# 0x00007F6089E42EB0 in /lib64/libc.so.6
 2# pthread_kill in /lib64/libc.so.6
 3# gsignal in /lib64/libc.so.6
 4# abort in /lib64/libc.so.6
 5# 0x00007F6089E283D5 in /lib64/libc.so.6
 6# 0x00007F6089E39FB2 in /lib64/libc.so.6
 7# boost::ptr_sequence_adapter >, boost::heap_clone_allocator>::operator[](unsigned long) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
 8# count_path_curves(Geom::Path const&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
 9# count_pathvector_curves(Geom::PathVector const&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
10# Inkscape::LivePathEffect::LPEPowerStroke::doEffect_path(Geom::PathVector const&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
11# Inkscape::LivePathEffect::Effect::doEffect(SPCurve*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
12# SPLPEItem::performOnePathEffect(SPCurve*, SPShape*, Inkscape::LivePathEffect::Effect*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
13# SPLPEItem::performPathEffect(SPCurve*, SPShape*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
14# SPShape::update_patheffect(bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
15# sp_lpe_item_update_patheffect(SPLPEItem*, bool, bool, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
16# Inkscape::SelTrans::_selChanged(Inkscape::Selection*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
17# Inkscape::Selection::_emitChanged(bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
18# Inkscape::UI::Dialog::ObjectsPanel::selectCursorItem(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
19# Inkscape::UI::Dialog::ObjectsPanel::on_click(Gtk::GestureMultiPress const&, int, double, double, Inkscape::UI::Dialog::ObjectsPanel::EventType) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
20# 0x00007F608E122E26 in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.4.0.0
21# 0x00007F608BD7808D in /usr/lib64/libgtkmm-3.0.so.1
22# 0x00007F608B0A5F82 in /usr/lib64/libgtk-3.so.0
23# 0x00007F608D148611 in /usr/lib64/libgobject-2.0.so.0
24# 0x00007F608D15C8D2 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# 0x00007F608B1B4CB5 in /usr/lib64/libgtk-3.so.0
28# g_cclosure_marshal_VOID__BOXEDv in /usr/lib64/libgobject-2.0.so.0
29# 0x00007F608D148611 in /usr/lib64/libgobject-2.0.so.0
30# 0x00007F608D15C8D2 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# 0x00007F608B1B206B in /usr/lib64/libgtk-3.so.0
34# 0x00007F608B1B3553 in /usr/lib64/libgtk-3.so.0
35# 0x00007F608B1B646E in /usr/lib64/libgtk-3.so.0
36# gtk_event_controller_handle_event in /usr/lib64/libgtk-3.so.0
37# 0x00007F608B339C0D in /usr/lib64/libgtk-3.so.0
38# 0x00007F608B33B430 in /usr/lib64/libgtk-3.so.0
39# 0x00007F608B1FB47E in /usr/lib64/libgtk-3.so.0
40# gtk_main_do_event in /usr/lib64/libgtk-3.so.0
41# 0x00007F608AD4D305 in /usr/lib64/libgdk-3.so.0
42# 0x00007F608AD80C62 in /usr/lib64/libgdk-3.so.0
43# 0x00007F608CAC73BD in /usr/lib64/libglib-2.0.so.0
44# 0x00007F608CACA307 in /usr/lib64/libglib-2.0.so.0
45# g_main_context_iteration in /usr/lib64/libglib-2.0.so.0
46# g_application_run in /usr/lib64/libgio-2.0.so.0
47# main in /usr/bin/inkscape
48# 0x00007F6089E29B77 in /lib64/libc.so.6
49# __libc_start_main in /lib64/libc.so.6
50# _start in /usr/bin/inkscape
System info Inkscape 1.4-beta2 (50b4f0c4, 2024-08-16, custom)
                  Compile  (Run)
GLib version:     2.80.3
GTK version:      3.24.42 (3.24.42)
glibmm version:   2.66.7
gtkmm version:    3.24.9
libxml2 version:  2.13.2
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)

OS version:       Slackware 15.0 x86_64 (post 15.0 -current)

What should have happened?

Inkscape does not crash and I can keep editing.

Sample attachments:

lpecrashpowerstroke.svg

Version info

Inkscape 1.4-beta2 (50b4f0c480, 2024-08-16, custom)

                      Compile  (Run)
    GLib version:     2.80.3
    GTK version:      3.24.42 (3.24.42)
    glibmm version:   2.66.7
    gtkmm version:    3.24.9
    libxml2 version:  2.13.2
    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)

    OS version:       Slackware 15.0 x86_64 (post 15.0 -current)
Edited by Willy (Wen-Wei) Kao