Crash when setting start and end offsets from taper stroke LPE to the start of a path
Summary:
Setting a the start offset and the end offset on the taper stroke live path effect so that both the start and end points are at the start of the path causes the program to crash.
Steps to reproduce:
- open Inkscape
- create a path of 2 nodes with the pen tool
- open the path effects dialog box
- add the taper stroke live path effect to the path
- set the start offset value to 0 and hit enter
- set the end offset value to 1 and hit enter
What happened?
The program crashed immediately. It also crashes by dragging both the start and end points of the taper, which is how I found this issue, and later tested using the steps above. It only crashes if I place both the start end end points on top of the first node, putting them on the last node is fine. Selecting the path on the emergency save generated when the program crashed also causes it to crash.
Backtrace
0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 1# 0x00007FEC8FC5C9A0 in /lib64/libc.so.6 2# 0x00007FEC8FCAE834 in /lib64/libc.so.6 3# raise in /lib64/libc.so.6 4# abort in /lib64/libc.so.6 5# std::chrono::_V2::system_clock::now() in /lib64/libstdc++.so.6 6# 0x00007FEC90DD133F in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 7# Inkscape::LivePathEffect::LPETaperStroke::doBeforeEffect(SPLPEItem const*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 8# Inkscape::LivePathEffect::Effect::doBeforeEffect_impl(SPLPEItem const*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 9# SPLPEItem::performOnePathEffect(SPCurve*, SPShape*, Inkscape::LivePathEffect::Effect*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 10# SPLPEItem::performPathEffect(SPCurve*, SPShape*, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 11# SPShape::update_patheffect(bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 12# sp_lpe_item_update_patheffect(SPLPEItem*, bool, bool, bool) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 13# 0x00007FEC9110F1EA in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 14# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 15# SPDefs::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 16# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 17# SPGroup::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 18# SPRoot::modified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 19# SPObject::emitModified(unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 20# SPDocument::_emitModified() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 21# SPDocument::_updateDocument(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 22# SPDocument::idle_handler() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0 23# 0x00007FEC902973E6 in /lib64/libglibmm-2.4.so.1 24# 0x00007FEC9050E78D in /lib64/libglib-2.0.so.0 25# 0x00007FEC90511E5C in /lib64/libglib-2.0.so.0 26# 0x00007FEC9056CF18 in /lib64/libglib-2.0.so.0 27# g_main_context_iteration in /lib64/libglib-2.0.so.0 28# g_application_run in /usr/bin/../lib64/inkscape/../libgio-2.0.so.0 29# main in /usr/bin/inkscape 30# 0x00007FEC8FC4614A in /lib64/libc.so.6 31# __libc_start_main in /lib64/libc.so.6 32# _start in /usr/bin/inkscape
System info
Inkscape 1.3.2 (091e20ef0f, 2023-11-25)GLib version: 2.78.3
GTK version: 3.24.39
glibmm version: 2.66.6
gtkmm version: 3.24.8
libxml2 version: 2.10.4
libxslt version: 1.1.39
Cairo version: 1.18.0
Pango version: 1.51.0
HarfBuzz version: 8.2.1
OS version: Fedora Linux 39 (Xfce)