Deletion or duplication on powerstroked paths crashes Inkscape

Bug #1633521 reported by Parcly Taxel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Undecided
Jabiertxof

Bug Description

[Trisquel 7.0, Inkscape trunk r15169]
[This bug is critical and must be fixed as soon as possible]

Open the attached file, which has a single path with a powerstroke LPE applied to it. The following actions crash Inkscape (GDB backtraces provided after each action):

1. Duplicating the path.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff538e0a0 in sigc::slot_base::disconnect() () from /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0
(gdb) bt
#0 0x00007ffff538e0a0 in sigc::slot_base::disconnect() () from /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0
#1 0x00007ffff7542d12 in Inkscape::URIReference::detach() () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#2 0x00007ffff758e569 in SPLPEItem::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#3 0x00007ffff75ad8d8 in SPPath::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#4 0x00007ffff75a69b4 in SPObject::repr_attr_changed(Inkscape::XML::Node*, char const*, char const*, char const*, bool, void*) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#5 0x00007ffff7436905 in Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged(Inkscape::XML::Node&, unsigned int, Inkscape::Util::ptr_shared<char>, Inkscape::Util::ptr_shared<char>) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#6 0x00007ffff7448ddd in Inkscape::XML::SimpleNode::setAttribute(char const*, char const*, bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#7 0x00007ffff758d806 in SPLPEItem::replacePathEffects(std::vector<LivePathEffectObject const*, std::allocator<LivePathEffectObject const*> > const&, std::vector<LivePathEffectObject const*, std::allocator<LivePathEffectObject const*> > const&) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#8 0x00007ffff758e2fb in SPLPEItem::forkPathEffectsIfNecessary(unsigned int) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#9 0x00007ffff74f5c50 in sp_selection_duplicate(SPDesktop*, bool, bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#10 0x00007ffff6fbe102 in sp_action_perform(SPAction*, void*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#11 0x00007ffff750d11d in sp_shortcut_invoke(unsigned int, Inkscape::UI::View::View*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#12 0x00007ffff5b6759b in ?? () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#13 0x00007ffff4e1bc4c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff31d23b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff31e3fd1 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff31eb6f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff31ebce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff4f44974 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff4e1a1af in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#20 0x00007ffff4e1b91a in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#21 0x00007ffff4a1fc22 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#22 0x00007ffff643ae04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff643b048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff643b30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff4e1ae25 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0

2. Deleting the path (not just the path effect).

Program received signal SIGSEGV, Segmentation fault.
__GI___libc_free (mem=0x3b007475) at malloc.c:2929
2929 malloc.c: No such file or directory.
(gdb) bt
#0 __GI___libc_free (mem=0x3b007475) at malloc.c:2929
#1 0x00007ffff708271d in Inkscape::LivePathEffect::LPEObjectReference::unlink() () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#2 0x00007ffff758e569 in SPLPEItem::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#3 0x00007ffff75ad8d8 in SPPath::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#4 0x00007ffff75a69b4 in SPObject::repr_attr_changed(Inkscape::XML::Node*, char const*, char const*, char const*, bool, void*) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#5 0x00007ffff7436905 in Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged(Inkscape::XML::Node&, unsigned int, Inkscape::Util::ptr_shared<char>, Inkscape::Util::ptr_shared<char>) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#6 0x00007ffff7448ddd in Inkscape::XML::SimpleNode::setAttribute(char const*, char const*, bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#7 0x00007ffff758c91d in SPLPEItem::removeAllPathEffects(bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#8 0x00007ffff75a8a3a in SPObject::deleteObject(bool, bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#9 0x00007ffff74edec6 in sp_selection_delete(SPDesktop*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#10 0x00007ffff6fbe102 in sp_action_perform(SPAction*, void*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#11 0x00007ffff750d11d in sp_shortcut_invoke(unsigned int, Inkscape::UI::View::View*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#12 0x00007ffff5b6759b in ?? () from /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#13 0x00007ffff4e1bc4c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff31d23b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff31e3fd1 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff31eb6f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff31ebce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff4f44974 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff4e1a1af in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#20 0x00007ffff4e1b91a in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#21 0x00007ffff4a1fc22 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#22 0x00007ffff643ae04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007ffff643b048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff643b30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff4e1ae25 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#26 0x00000000004093e0 in sp_main_gui(int, char const**) ()

3. Deleting just the path effect that is on the path.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff538def0 in sigc::internal::slot_rep::disconnect() () from /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0
(gdb) bt
#0 0x00007ffff538def0 in sigc::internal::slot_rep::disconnect() () from /usr/lib/x86_64-linux-gnu/libsigc-2.0.so.0
#1 0x00007ffff7542d12 in Inkscape::URIReference::detach() () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#2 0x00007ffff758e569 in SPLPEItem::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#3 0x00007ffff75ad8d8 in SPPath::set(unsigned int, char const*) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#4 0x00007ffff75a69b4 in SPObject::repr_attr_changed(Inkscape::XML::Node*, char const*, char const*, char const*, bool, void*) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#5 0x00007ffff7436905 in Inkscape::XML::CompositeNodeObserver::notifyAttributeChanged(Inkscape::XML::Node&, unsigned int, Inkscape::Util::ptr_shared<char>, Inkscape::Util::ptr_shared<char>) ()
   from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#6 0x00007ffff7448ddd in Inkscape::XML::SimpleNode::setAttribute(char const*, char const*, bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#7 0x00007ffff758ce58 in SPLPEItem::removeCurrentPathEffect(bool) () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#8 0x00007ffff7288540 in Inkscape::UI::Dialog::LivePathEffectEditor::onRemove() () from /home/parclytaxel/Documents/Computing/Inkscape/bin/../lib/inkscape/libinkscape_base.so
#9 0x00007ffff55df038 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#10 0x00007ffff31d23b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff31e3fd1 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff31eba29 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff31ebce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff4d517e8 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff31d25e7 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff31eb088 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff31ebce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff4d506a1 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#19 0x00007ffff4e1bd3e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#20 0x00007ffff31d25e7 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff31eb088 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff31ebce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff4f44974 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#24 0x00007ffff4e1a08c in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#25 0x00007ffff4e1b91a in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#26 0x00007ffff4a1fc22 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0

Revision history for this message
Parcly Taxel (parclytaxel-deactivatedaccount) wrote :
Jabiertxof (jabiertxof)
Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
Revision history for this message
Shlomi Fish (shlomif-gmail) wrote :

Hi all!

Bisection shows that the problematic commit is:

revno: 14148
committer: tavmjong-free <email address hidden>
branch nick: inkscape
timestamp: Tue 2015-05-12 21:43:24 +0200
message:
  GUI for font-variant-xxx, parse 'font-variant-ligatures'. This is a work in progress.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Fix released on 15170

Changed in inkscape:
status: New → Confirmed
status: Confirmed → Fix Released
Revision history for this message
Jabiertxof (jabiertxof) wrote :

Its a trunk bug. 0.92.x not have it. Is a bug because the merge of measure line LPE

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.