Skip to content

crash while joining two nodes (of different paths)

Summary:

Inkscape sometimes crashes when joining two different nodes of different paths. It occurs more often when tha paths have a path effect such as power stroke. And when you try to merge like three continuous paths one after another then inkscape will crash.

Steps to reproduce:

  • open Inkscape
  • create three strokes/paths
  • add powerstroke effect to them
  • join ending/starting node of first two strokes
  • then, join it's ending node with last stokes's starting node

...

What should have happened?

It crashes

Version info

System info Inkscape 1.4 (e7c3feb1, 2024-10-09)
                  Compile  (Run)
GLib version:     2.76.3
GTK version:      3.24.42 (3.24.42)
glibmm version:   2.66.6
gtkmm version:    3.24.9
libxml2 version:  2.11.4
libxslt version:  1.1.29
Cairo version:    1.18.0 (1.18.0)
Pango version:    1.50.14 (1.50.14)
HarfBuzz version: 8.0.1 (8.0.1)

OS version:       macOS 15.0.1 (24A348) arm64
Log
 0# Inkscape::Application::crash_handler(int) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 1# _sigtramp in /usr/lib/system/libsystem_platform.dylib
 2# SPItem::i2dt_affine() const in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 3# KnotHolderEntity::update_knot() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 4# BlurKnotHolderEntity::update_knot() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 5# KnotHolder::update_knots() in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 6# Inkscape::UI::ShapeEditor::set_item(SPItem*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 7# Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged(Inkscape::XML::Node&, unsigned int, Inkscape::Util::ptr_shared, Inkscape::Util::ptr_shared) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 8# Inkscape::XML::SimpleNode::setAttributeImpl(char const*, char const*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
 9# sp_repr_undo_log(Inkscape::XML::Event*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
10# Inkscape::DocumentUndo::undo(SPDocument*) in /Applications/Inkscape.app/Contents/Resources/lib/inkscape/libinkscape_base.1.4.0.0.dylib
11# (anonymous namespace)::SimpleAction_signal_activate_callback(_GSimpleAction*, _GVariant*, void*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib
12# g_closure_invoke in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
13# signal_emit_unlocked_R in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
14# g_signal_emit_valist in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
15# g_signal_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
16# g_simple_action_activate in /Applications/Inkscape.app/Contents/Resources/lib/libgio-2.0.0.dylib
17# Gio::Action_Class::activate_vfunc_callback(_GAction*, _GVariant*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib
18# Gio::ActionGroup_Class::activate_action_vfunc_callback(_GActionGroup*, char const*, _GVariant*) in /Applications/Inkscape.app/Contents/Resources/lib/libgiomm-2.4.1.dylib
19# gtk_application_accels_activate in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
20# gtk_window_activate_key in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
21# gtk_window_key_press_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
22# Gtk::Widget::on_key_press_event(_GdkEventKey*) in /Applications/Inkscape.app/Contents/Resources/lib/libgtkmm-3.0.1.dylib
23# Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) in /Applications/Inkscape.app/Contents/Resources/lib/libgtkmm-3.0.1.dylib
24# _gtk_marshal_BOOLEAN__BOXEDv in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
25# _g_closure_invoke_va in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
26# g_signal_emit_valist in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
27# g_signal_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgobject-2.0.0.dylib
28# gtk_widget_event_internal in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
29# gtk_propagate_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
30# gtk_main_do_event in /Applications/Inkscape.app/Contents/Resources/lib/libgtk-3.0.dylib
31# _gdk_event_emit in /Applications/Inkscape.app/Contents/Resources/lib/libgdk-3.0.dylib
32# gdk_event_dispatch in /Applications/Inkscape.app/Contents/Resources/lib/libgdk-3.0.dylib
33# g_main_context_dispatch in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib
34# g_main_context_iterate in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib
35# g_main_context_iteration in /Applications/Inkscape.app/Contents/Resources/lib/libglib-2.0.0.dylib
36# g_application_run in /Applications/Inkscape.app/Contents/Resources/lib/libgio-2.0.0.dylib
37# main in /Applications/Inkscape.app/Contents/MacOS/inkscape

<!--
    ❤️ Thank you for filling in a new bug report, we appreciate the help! ❤️
    Please be patient while we try to find the time to look into your issue.
    Remember that Inkscape is developed by volunteers in their spare time, we'll try our best to respond to all reports.
-->

<!--
    Please be careful when/after writing #  for example in logs, code, or versions of linux
    - use inline code span - single backticks (`) before and after it, like this - `#1618`
    - use multi-line code block - triple backticks (```) to fence/enclose console logs
    - attach long logs as a text file.
-->
Edited by Mohammad Aseem
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information