spiro node editing (possibly with undo) consistently causes a crash

Bug #605010 reported by Garrett
This bug report is a duplicate of:  Bug #605575: crash when changing node type . Edit Remove
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
New
High
Unassigned

Bug Description

I have been editing spiro paths in node editing mode. I repeatedly move the nodes around, once in a while hitting undo. I'm not entirely sure if undo is causing this to happen, but I think it simply has to do with node movement or the spiro path effect.

It doesn't happen all the time, but it happens quite a bit. It makes glyph shaping (for a custom logotype) very difficult and frustrating.

Here's a backtrace of the crasher:

Program received signal SIGSEGV, Segmentation fault.
Inkscape::UI::Node::setType (this=<value optimized out>) at ui/tool/node.cpp:591
591 double dist = Geom::distance(_next()->position(), position());
(gdb) bt
#0 0x000000000084ba6e in Inkscape::UI::Node::setType (this=<value optimized out>)
#1 0x0000000000845c14 in Inkscape::UI::MultiPathManipulator::setNodeType (this=0x6136e40, type=
    NODE_SMOOTH) at ui/tool/multi-path-manipulator.cpp:225
#2 0x00007ffff4c424fe in IA__g_closure_invoke (closure=0x2b47d50, return_value=0x0, n_param_values=1,
    param_values=0x6c61680, invocation_hint=0x7fffffffc740) at gclosure.c:767
#3 0x00007ffff4c56a84 in signal_emit_unlocked_R (node=0x2a00900, detail=<value optimized out>,
    instance=<value optimized out>, emission_return=<value optimized out>,
    instance_and_params=<value optimized out>) at gsignal.c:3318
#4 0x00007ffff4c57b56 in IA__g_signal_emit_valist (instance=0x2b42d80, signal_id=<value optimized out>,
    detail=0, var_args=0x7fffffffc930) at gsignal.c:2981
#5 0x00007ffff4c58113 in IA__g_signal_emit (instance=0x5e9e1d0, signal_id=0, detail=100581216)
    at gsignal.c:3038
#6 0x00007ffff63cefc3 in _gtk_action_emit_activate (action=0x2b42d80 [InkAction]) at gtkaction.c:755
#7 0x00007ffff655e4d9 in button_clicked (widget=<value optimized out>, button=0x2d24bb0 [GtkToolButton])
    at gtktoolbutton.c:768
#8 0x00007ffff4c424fe in IA__g_closure_invoke (closure=0x2c43fe0, return_value=0x0, n_param_values=1,
    param_values=0x6496020, invocation_hint=0x7fffffffcb70) at gclosure.c:767
#9 0x00007ffff4c56598 in signal_emit_unlocked_R (node=0x10f1790, detail=<value optimized out>,
    instance=<value optimized out>, emission_return=<value optimized out>,
    instance_and_params=<value optimized out>) at gsignal.c:3248
#10 0x00007ffff4c57b56 in IA__g_signal_emit_valist (instance=0x2d2fb40, signal_id=<value optimized out>,
    detail=0, var_args=0x7fffffffcd60) at gsignal.c:2981
#11 0x00007ffff4c58113 in IA__g_signal_emit (instance=0x5e9e1d0, signal_id=0, detail=100581216)
    at gsignal.c:3038
#12 0x00007ffff63e9225 in gtk_real_button_released (button=0x5e9e1d0) at gtkbutton.c:1725
#13 0x00007ffff4c424fe in IA__g_closure_invoke (closure=0x1155ac0, return_value=0x0, n_param_values=1,
    param_values=0x6467640, invocation_hint=0x7fffffffcf80) at gclosure.c:767
#14 0x00007ffff4c55f31 in signal_emit_unlocked_R (node=0x10f16c0, detail=<value optimized out>,
    instance=<value optimized out>, emission_return=<value optimized out>,
    instance_and_params=<value optimized out>) at gsignal.c:3178
#15 0x00007ffff4c57b56 in IA__g_signal_emit_valist (instance=0x2d2fb40, signal_id=<value optimized out>,
    detail=0, var_args=0x7fffffffd170) at gsignal.c:2981
#16 0x00007ffff4c58113 in IA__g_signal_emit (instance=0x5e9e1d0, signal_id=0, detail=100581216)
    at gsignal.c:3038
#17 0x00007ffff63e7f2d in gtk_button_button_release (widget=0x5e9e1d0, event=0x0) at gtkbutton.c:1617
#18 0x00007ffff6494e68 in _gtk_marshal_BOOLEAN__BOXED (closure=0x1157630, return_value=0x7fffffffd400,
    n_param_values=<value optimized out>, param_values=0x34774a0, invocation_hint=<value optimized out>,
    marshal_data=0x7ffff63e7f10) at gtkmarshalers.c:84
#19 0x00007ffff4c424fe in IA__g_closure_invoke (closure=0x1157630, return_value=0x7fffffffd400,
    n_param_values=2, param_values=0x34774a0, invocation_hint=0x7fffffffd3c0) at gclosure.c:767
#20 0x00007ffff4c562ad in signal_emit_unlocked_R (node=0x11578b0, detail=<value optimized out>,
    instance=<value optimized out>, emission_return=<value optimized out>,
    instance_and_params=<value optimized out>) at gsignal.c:3286
#21 0x00007ffff4c57999 in IA__g_signal_emit_valist (instance=0x2d2fb40, signal_id=<value optimized out>,
    detail=0, var_args=0x7fffffffd5b0) at gsignal.c:2991
#22 0x00007ffff4c58113 in IA__g_signal_emit (instance=0x5e9e1d0, signal_id=0, detail=100581216)
    at gsignal.c:3038
#23 0x00007ffff65aae3f in gtk_widget_event_internal (widget=0x2d2fb40 [GtkButton], event=0x6d331e0)
    at gtkwidget.c:4943
#24 0x00007ffff648d347 in IA__gtk_propagate_event (widget=0x2d2fb40 [GtkButton], event=0x6d331e0)
    at gtkmain.c:2442
#25 0x00007ffff648e3cb in IA__gtk_main_do_event (event=0x6d331e0) at gtkmain.c:1647
#26 0x00007ffff610255c in gdk_event_dispatch (source=<value optimized out>,
    callback=<value optimized out>, user_data=<value optimized out>) at gdkevents-x11.c:2372
#27 0x00007ffff3763880 in g_main_dispatch (context=<value optimized out>) at gmain.c:1960
#28 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513
#29 0x00007ffff37676e8 in g_main_context_iterate (context=0x112fe20, block=<value optimized out>,
    dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591
#30 0x00007ffff3767bfd in IA__g_main_loop_run (loop=0x236c4a0) at gmain.c:2799
#31 0x00007ffff648e8a7 in IA__gtk_main () at gtkmain.c:1219
#32 0x00000000004558db in sp_main_gui (argc=1, argv=0x7fffffffdbf8) at main.cpp:983
#33 0x0000000000454d61 in main (argc=1, argv=<value optimized out>) at main.cpp:719

Revision history for this message
su_v (suv-lp) wrote :

Could you add information about os and Inkscape version?

tags: added: crash node-editing
Changed in inkscape:
importance: Undecided → High
Revision history for this message
Garrett (garrettl) wrote :

Oh sorry.

This is from bzr, on openSUSE 11.2 (Linux).

The about splash says: Inkscape 0.47+devel r9610 custom

Revision history for this message
su_v (suv-lp) wrote :

Would it be possible to attach one of the files that you experience these crashes with? I have been trying to reproduce it (with r9607), but maybe my Spiro test paths are not complex enough?

Did you ctrl-click nodes to toggle their node type (smooth -> auto-smooth -> symmetric -> cusp) before the crash happened? AFAICT the backtrace has no indication that the crash was related to 'Undo' (see bug #540591: Undo LPE editing in node tool crashes).

tags: added: livepatheffects
Revision history for this message
su_v (suv-lp) wrote :

From the backtrace:
> Inkscape::UI::Node::setType (this=<value optimized out>) at ui/tool/node.cpp:591

Possibly same underlying issue as bug #605575 “crash when changing node type ” (i.e. not diretly related to 'Undo' or path effects)?

Revision history for this message
su_v (suv-lp) wrote :

Linking as duplicate to bug #bug #605575 - please add a comment here and revert the duplicate status if you don't agree and think these are different issues.

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

Other bug subscribers

Remote bug watches

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