sporadic crash on undoing copy/paste of object with mesh fill: Assertion `this->is_initialized()' failed

Bug #1780911 reported by Cyp
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
New
Undecided
Unassigned

Bug Description

When copying/pasting an object with a mesh fill, the new object appears fully transparent (which looks like a bug even without a crash).

When undoing the copy/paste, it sometimes crashes.

Seems relatively reproducible if pasting and undoing a few times, and resizing the objects randomly (not sure if resizing is needed to reproduce the crash).

Possibly related to bug 1651096.

Using inkscape-0.92.3.

----

inkscape: /usr/include/boost/optional/optional.hpp:1116: boost::optional<T>::pointer_const_type boost::optional<T>::operator->() const [with T = Geom::Rect; boost::optional<T>::pointer_const_type = const Geom::Rect*]: Assertion `this->is_initialized()' failed.

Thread 1 "inkscape" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff0010b1d in __GI_abort () at abort.c:90
#2 0x00007ffff0006757 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x5555563d8be8 "this->is_initialized()", file=file@entry=0x5555563d9588 "/usr/include/boost/optional/optional.hpp",
    line=line@entry=1116,
    function=function@entry=0x5555563fb1a0 <_ZZNK5boost8optionalIN4Geom4RectEEptEvE19__PRETTY_FUNCTION__> "boost::optional<T>::pointer_const_type boost::optional<T>::operator->() const [with T = Geom::Rect; boost::optional<T>::pointer_const_type = const Geom::Rect*]") at assert.c:92
#3 0x00007ffff0006812 in __GI___assert_fail (assertion=assertion@entry=0x5555563d8be8 "this->is_initialized()", file=file@entry=0x5555563d9588 "/usr/include/boost/optional/optional.hpp",
    line=line@entry=1116,
    function=function@entry=0x5555563fb1a0 <_ZZNK5boost8optionalIN4Geom4RectEEptEvE19__PRETTY_FUNCTION__> "boost::optional<T>::pointer_const_type boost::optional<T>::operator->() const [with T = Geom::Rect; boost::optional<T>::pointer_const_type = const Geom::Rect*]") at assert.c:101
#4 0x0000555555c2fbb8 in boost::optional<Geom::Rect>::operator-> (this=0x55555ae4e550) at /usr/include/boost/optional/optional.hpp:1116
#5 SPMeshGradient::pattern_new (this=0x55555ae3ca10, bbox=..., opacity=1) at sp-mesh-gradient.cpp:256
#6 0x0000555555cf06ab in NRStyle::prepareFill (this=this@entry=0x55555ae4e5c8, dc=..., paintbox=..., pattern=<optimized out>) at display/nr-style.cpp:353
#7 0x0000555555cc5804 in Inkscape::DrawingShape::_renderItem (this=0x55555ae4e490, dc=..., area=..., flags=0, stop_at=0x0) at display/drawing-shape.cpp:242
#8 0x0000555555cc2248 in Inkscape::DrawingItem::render (this=this@entry=0x55555ae4e490, dc=..., area=..., flags=flags@entry=0, stop_at=stop_at@entry=0x0) at display/drawing-item.cpp:762
#9 0x0000555555cbdc95 in Inkscape::DrawingGroup::_renderItem (this=0x55555a8d4c00, dc=..., area=..., flags=0, stop_at=<optimized out>) at display/drawing-group.cpp:98
#10 0x0000555555cc2511 in Inkscape::DrawingItem::render (this=this@entry=0x55555a8d4c00, dc=..., area=..., flags=flags@entry=0, stop_at=stop_at@entry=0x0) at display/drawing-item.cpp:813
#11 0x0000555555cbdc95 in Inkscape::DrawingGroup::_renderItem (this=0x55555adc9440, dc=..., area=..., flags=0, stop_at=<optimized out>) at display/drawing-group.cpp:98
#12 0x0000555555cc2511 in Inkscape::DrawingItem::render (this=this@entry=0x55555adc9440, dc=..., area=..., flags=flags@entry=0, stop_at=stop_at@entry=0x0) at display/drawing-item.cpp:813
#13 0x0000555555cbdc95 in Inkscape::DrawingGroup::_renderItem (this=0x5555589bc800, dc=..., area=..., flags=0, stop_at=<optimized out>) at display/drawing-group.cpp:98
#14 0x0000555555cc2511 in Inkscape::DrawingItem::render (this=0x5555589bc800, dc=..., area=..., flags=0, stop_at=0x0) at display/drawing-item.cpp:813
#15 0x0000555555cbc1d1 in Inkscape::Drawing::render (this=0x5555589ce1f0, dc=..., area=..., flags=4026593104, flags@entry=0) at display/drawing.cpp:173
#16 0x0000555555ca73b8 in sp_canvas_arena_render (item=<optimized out>, buf=<optimized out>) at display/canvas-arena.cpp:199
#17 0x0000555555cfa31a in SPCanvasGroup::render (item=<optimized out>, buf=0x7fffffffbfd0) at display/sp-canvas.cpp:858
#18 0x0000555555cfa31a in SPCanvasGroup::render (item=<optimized out>, buf=0x7fffffffbfd0) at display/sp-canvas.cpp:858
#19 0x0000555555cfc26e in SPCanvas::paintSingleBuffer (this=this@entry=0x555558349680, paint_rect=..., canvas_rect=...) at display/sp-canvas.cpp:1573
#20 0x0000555555cfc3b9 in SPCanvas::paintRectInternal (this=0x555558349680, setup=0x7fffffffc130, this_rect=...) at display/sp-canvas.cpp:1674
#21 0x0000555555cfc786 in SPCanvas::paintRect (this=this@entry=0x555558349680, xx0=<optimized out>, yy0=<optimized out>, xx1=<optimized out>, yy1=<optimized out>) at display/sp-canvas.cpp:1787
#22 0x0000555555cfca68 in SPCanvas::paint (this=this@entry=0x555558349680) at display/sp-canvas.cpp:1926
#23 0x0000555555cfcc80 in SPCanvas::doUpdate (this=0x555558349680) at display/sp-canvas.cpp:1960
#24 0x00005555561ab673 in Inkscape::UI::Tools::NodeTool::selection_changed (this=0x55555b1b5490, sel=0x5555576aae60) at ui/tools/node-tool.cpp:448
#25 0x0000555555bc73f5 in sigc::internal::signal_emit1<void, Inkscape::Selection*, sigc::nil>::emit (_A_a1=@0x7fffffffc3d0: 0x5555576aae60, impl=0x5555589c4a70) at /usr/include/sigc++-2.0/sigc++/signal.h:1041
#26 sigc::signal1<void, Inkscape::Selection*, sigc::nil>::emit (this=<optimized out>, _A_a1=@0x7fffffffc3d0: 0x5555576aae60) at /usr/include/sigc++-2.0/sigc++/signal.h:2951
#27 Inkscape::Selection::_emitChanged (this=<optimized out>, persist_selection_context=<optimized out>) at selection.cpp:110
#28 0x0000555555c4595d in sigc::internal::signal_emit1<void, SPObject*, sigc::nil>::emit (_A_a1=@0x7fffffffc458: 0x55555ae57550, impl=0x55555ae20fa0) at /usr/include/sigc++-2.0/sigc++/signal.h:1041
#29 sigc::signal1<void, SPObject*, sigc::nil>::emit (this=0x55555ae575e0, _A_a1=@0x7fffffffc458: 0x55555ae57550) at /usr/include/sigc++-2.0/sigc++/signal.h:2951
#30 SPObject::releaseReferences (this=this@entry=0x55555ae57550) at sp-object.cpp:833
#31 0x0000555555c46073 in SPObject::detach (this=<optimized out>, object=0x55555ae57550) at sp-object.cpp:597
#32 0x0000555555c4615a in SPObject::remove_child (this=<optimized out>, child=<optimized out>) at sp-object.cpp:678
#33 0x0000555555c2c0d6 in SPLPEItem::remove_child (this=<optimized out>, child=<optimized out>) at sp-lpe-item.cpp:771
#34 0x0000555555c1b569 in SPGroup::remove_child (this=0x55555a6fec00, child=<optimized out>) at sp-item-group.cpp:133
#35 0x0000555555f6aab2 in Inkscape::XML::CompositeNodeObserver::notifyChildRemoved (this=this@entry=0x55555781d6e0, node=..., child=..., prev=0x5555578280d0) at xml/composite-node-observer.cpp:49
#36 0x0000555555f78663 in Inkscape::XML::SimpleNode::removeChild (this=0x55555781d690, generic_child=<optimized out>) at xml/simple-node.cpp:479
#37 0x0000555555f7c50c in Inkscape::XML::Event::undoOne (observer=..., this=0x5555577df000) at xml/event.h:103
#38 Inkscape::XML::undo_log_to_observer (observer=..., log=<optimized out>) at xml/event.cpp:131
#39 sp_repr_undo_log (log=<optimized out>) at xml/event.cpp:149
#40 0x0000555555b49b13 in Inkscape::DocumentUndo::undo (doc=0x55555766e580) at document-undo.cpp:265
#41 0x0000555555bb0f98 in sp_undo (desktop=0x5555576a8c00) at selection-chemistry.cpp:1228
#42 0x0000555555dcbaea in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x5555586e5ec0) at /usr/include/sigc++-2.0/sigc++/signal.h:794
#43 sigc::signal0<void, sigc::nil>::emit (this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2800
#44 sp_action_perform (action=<optimized out>) at helper/action.cpp:136
#45 0x0000555555bdb36d in sp_shortcut_invoke (shortcut=<optimized out>, view=0x5555576a8c00) at shortcuts.cpp:74
#46 0x00007ffff5ef203d in sigc::slot1<bool, _GdkEventKey*>::operator() (_A_a1=@0x7fffffffc728: 0x55555a253480, this=0x555558c25848) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:643
#47 (anonymous namespace)::Widget_signal_key_release_event_callback (self=<optimized out>, p0=<optimized out>, data=0x555558c25840)
    at /var/tmp/portage/dev-cpp/gtkmm-2.24.5/work/gtkmm-2.24.5/gtk/gtkmm/widget.cc:1549
#48 0x00007ffff50173cc in _gtk_marshal_BOOLEAN__BOXED (closure=0x555559021a40, return_value=0x7fffffffc8c0, n_param_values=<optimized out>, param_values=0x7fffffffc920, invocation_hint=<optimized out>,
    marshal_data=<optimized out>) at gtkmarshalers.c:86
#49 0x00007ffff1574f25 in g_closure_invoke (closure=0x555559021a40, return_value=return_value@entry=0x7fffffffc8c0, n_param_values=2, param_values=param_values@entry=0x7fffffffc920,
    invocation_hint=invocation_hint@entry=0x7fffffffc8a0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gclosure.c:804
#50 0x00007ffff1586fe3 in signal_emit_unlocked_R (node=node@entry=0x555556b4d070, detail=detail@entry=0, instance=instance@entry=0x555559007ac0, emission_return=emission_return@entry=0x7fffffffca40,
    instance_and_params=instance_and_params@entry=0x7fffffffc920) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3705
#51 0x00007ffff158f61f in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcaf0)
    at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3401
#52 0x00007ffff158ff67 in g_signal_emit (instance=instance@entry=0x555559007ac0, signal_id=<optimized out>, detail=detail@entry=0)
    at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/gobject/gsignal.c:3447
#53 0x00007ffff512f25c in gtk_widget_event_internal (widget=widget@entry=0x555559007ac0, event=event@entry=0x55555a253480) at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkwidget.c:5010
#54 0x00007ffff512f527 in IA__gtk_widget_event (widget=widget@entry=0x555559007ac0, event=event@entry=0x55555a253480) at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkwidget.c:4807
#55 0x00007ffff5015c6f in IA__gtk_propagate_event (widget=0x555559007ac0, event=0x55555a253480) at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkmain.c:2475
#56 0x00007ffff5015f4b in IA__gtk_main_do_event (event=0x55555a253480) at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkmain.c:1696
#57 0x00007ffff4c8c35c in gdk_event_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
    at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gdk/x11/gdkevents-x11.c:2425
#58 0x00007ffff129b5c7 in g_main_dispatch (context=0x555556b2be40) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3234
#59 g_main_context_dispatch (context=context@entry=0x555556b2be40) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3899
#60 0x00007ffff129b830 in g_main_context_iterate (context=0x555556b2be40, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:3972
#61 0x00007ffff129bb52 in g_main_loop_run (loop=0x5555597c11a0) at /var/tmp/portage/dev-libs/glib-2.52.3/work/glib-2.52.3/glib/gmain.c:4168
#62 0x00007ffff5014fc7 in IA__gtk_main () at /var/tmp/portage/x11-libs/gtk+-2.24.31-r1/work/gtk+-2.24.31/gtk/gtkmain.c:1268
#63 0x0000555555afe83b in sp_main_gui (argc=<optimized out>, argv=<optimized out>) at main.cpp:1164
#64 0x00007fffefffa011 in __libc_start_main (main=0x555555ae2770 <main(int, char**)>, argc=1, argv=0x7fffffffd0f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>,
    stack_end=0x7fffffffd0e8) at ../csu/libc-start.c:308
#65 0x0000555555afc7aa in _start ()

Revision history for this message
Cyp (cypcyp) wrote :
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.