crash when undoing paste of an object with any LPE

Bug #244853 reported by Alexandre Prokoudine
4
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Critical
Maximilian Albert

Bug Description

1. Create an object
2. Apply an LPE to it
3. Copy the object to clipboard
4. Paste it anywhere
5. Press Ctrl-Z to undo pasting
6. Inkscape crashes

gdb output:

(gdb) run
Starting program: /usr/bin/inkscape
[Thread debugging using libthread_db enabled]
[New Thread 0xb61ba720 (LWP 3970)]

** (inkscape:3970): CRITICAL **: void Inkscape::LivePathEffect::Effect::addHelperPaths(SPLPEItem*, SPDesktop*): assertion `SP_IS_PATH(lpeitem)' failed

** (inkscape:3970): CRITICAL **: void Inkscape::LivePathEffect::Effect::addHelperPaths(SPLPEItem*, SPDesktop*): assertion `SP_IS_PATH(lpeitem)' failed

** (inkscape:3970): CRITICAL **: void SPObject::requestDisplayUpdate(unsigned int): assertion `this->document != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb61ba720 (LWP 3970)]
0xb742d78b in g_object_unref () from /usr/lib/libgobject-2.0.so.0
(gdb) bt
#0 0xb742d78b in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#1 0x081f0260 in ~KnotHolderEntity (this=0xe75bcd0) at knot-holder-entity.cpp:59
#2 0x084d4397 in ~PointParam (this=0xe75bca4) at live_effects/parameter/point.cpp:47
#3 0x084cec2d in ~LPECopyRotate (this=0xe75bbb0) at live_effects/lpe-copy_rotate.cpp:65
#4 0x084924df in livepatheffect_release (object=0xc42f9e8) at live_effects/lpeobject.cpp:159
#5 0x080dc9d8 in SPObject::releaseReferences (this=0xc42f9e8) at sp-object.cpp:871
#6 0x080dcd29 in sp_object_detach (parent=0x88df238, object=0xc42f9e8) at sp-object.cpp:650
#7 0x08621192 in Inkscape::XML::CompositeNodeObserver::notifyChildRemoved (this=0x8bf4430, node=@0x8bf4470, child=@0xe356470, prev=0xe3564f0) at xml/composite-node-observer.cpp:49
#8 0x0861c93b in Inkscape::XML::SimpleNode::removeChild (this=0x8bf4400, child=0xe356470) at xml/simple-node.cpp:449
#9 0x0861de6a in Inkscape::XML::EventAdd::_undoOne (this=0xc89cf48, observer=@0x88af4a0) at xml/event.cpp:153
#10 0x0861de30 in Inkscape::XML::undo_log_to_observer (log=0xe353d40, observer=@0x88af4a0) at xml/event.h:50
#11 0x0861f06c in sp_repr_undo_log (log=0xe353d40) at xml/event.cpp:147
#12 0x0815ebaf in sp_document_undo (doc=0x8bf7f60) at document-undo.cpp:267
#13 0x080a7c4a in sp_undo (desktop=0x8c2de00) at selection-chemistry.cpp:807
#14 0x083e727d in sp_action_perform (action=0x8bfdaf0, data=0x0) at helper/action.cpp:181
#15 0x080b5ad8 in sp_shortcut_invoke (shortcut=33554554, view=0x8c2de00) at shortcuts.cpp:55
#16 0x083ed4b7 in on_window_key_press (event=0xe6ff6a0) at helper/window.cpp:34
#17 0x083ed6a4 in sigc::internal::slot_call1<sigc::pointer_functor1<_GdkEventKey*, bool>, bool, _GdkEventKey*>::call_it (rep=0x9e81c28, a_1=@0xbfe16804)
    at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:111
#18 0xb7e0843e in ?? () from /usr/lib/libgtkmm-2.4.so.1
#19 0xb77088d4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#20 0xb742b759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#21 0xb74400a3 in ?? () from /usr/lib/libgobject-2.0.so.0
#22 0xb744164e in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#23 0xb7441c59 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#24 0xb7827667 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb7701c0d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#26 0xb7702d88 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb757ba9a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#28 0xb7390bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#29 0xb7393e5e in ?? () from /usr/lib/libglib-2.0.so.0
#30 0xb73941e7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#31 0xb7703264 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#32 0xb7d7f307 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1
#33 0xb7d7f0f2 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1
#34 0x08086b6e in sp_main_gui (argc=1, argv=0xbfe170e4) at main.cpp:800
#35 0x081f569b in Inkscape::NSApplication::Application::run (this=0xbfe17024) at application/application.cpp:117
#36 0x0808661f in main (argc=1, argv=0xbfe170e4) at main.cpp:610
(gdb) quit

Changed in inkscape:
importance: Undecided → Critical
milestone: none → 0.47
Revision history for this message
Maximilian Albert (cilix) wrote :

I don't see a crash, but I do get error messages which indicate there is a problem. Thank you for the backtrace (especially since I currently can't produce any of my own due to build problems). I'll try to look into it.

Changed in inkscape:
assignee: nobody → cilix
Changed in inkscape:
status: New → Triaged
Revision history for this message
Alvin Penner (apenner) wrote :

running Win32 nightly build from June 27. I used the Gears Effect, did not get a crash, but got the following exit messages.

C:\Python25\APP>inkcl.py

** (inkscape.exe:472): CRITICAL **: void Inkscape::LivePathEffect::Effect::addHe
lperPaths(SPLPEItem*, SPDesktop*): assertion `SP_IS_PATH(lpeitem)' failed

** (inkscape.exe:472): CRITICAL **: void SPObject::requestDisplayUpdate(unsigned int): assertion `this->document != NULL' failed

Revision history for this message
bbyak (buliabyak) wrote :

no crash now, linux rev 19232

Revision history for this message
Mx (maxjeanpierre) wrote :

On XP,/Vista, inkscape crashes too, but at the past operation: (Inkscape20046-0810241438)

create LPE
copy
paste -> crash

copy saved

Revision history for this message
ScislaC (scislac) wrote :

Mx,

The paste crash you mentioned was fixed yesterday in svn. :)

Revision history for this message
Mx (maxjeanpierre) wrote : Re: [Bug 244853] Re: crash when undoing paste of an object with any LPE

Oh ok great. I have to wait to the next build. Thanks a lot for the
information;

Mx

> Mx,
>
> The paste crash you mentioned was fixed yesterday in svn. :)
>
>

Revision history for this message
ScislaC (scislac) wrote :

This is fixed in Current SVN (was fixed prior to Rev 20070).

Changed in inkscape:
status: Triaged → Fix Released
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.