Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
Inbox
Inbox
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 1,215
    • Issues 1,215
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Inkscape
  • InboxInbox
  • Issues
  • #421

Closed
Open
Opened Apr 29, 2019 by Nathan Lee@nathanalMaintainer

Crash on Put on Path with Objects dialog open (debug build)

Migrated from: https://bugs.launchpad.net/inkscape/+bug/1810360

Steps to reproduce:

  1. Open Inkscape (Recent 1.0alpha debug build, Fedora 28+ dnf package, or flatpak 0.92.4 version)
  2. Open Objects Dialog
  3. Create some text and an ellipse
  4. Select all
  5. Place text on ellipse with Put on Text
  6. Crash.

screen

Backtrace

/usr/include/c++/7/bits/stl_vector.h:815: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = Inkscape::Text::Layout::Line; _Alloc = std::allocator<Inkscape::Text::Layout::Line>; std::vector<_Tp, _Alloc>::const_reference = const Inkscape::Text::Layout::Line&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' 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  0x00007ffff414de97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff414f801 in __GI_abort () at abort.c:79
#2  0x00007ffff6916f0c in std::__replacement_assert(char const*, int, char const*, char const*) (__file=__file@entry=0x7ffff759ca68 "/usr/include/c++/7/bits/stl_vector.h", __line=__line@entry=815, __function=__function@entry=0x7ffff7718fe0 <_ZZNKSt6vectorIN8Inkscape4Text6Layout4LineESaIS3_EEixEmE19__PRETTY_FUNCTION__> "std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = Inkscape::Text::Layout::Line; _Alloc = std::allocator<Inkscape::Te"..., __condition=__condition@entry=0x7ffff759ca38 "__builtin_expect(__n < this->size(), true)") at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:472
#3  0x00007ffff7384bbd in std::vector<Inkscape::Text::Layout::Line, std::allocator<Inkscape::Text::Layout::Line> >::operator[](unsigned long) const (__n=1, this=0x5555570e59f0) at /usr/include/c++/7/bits/stl_vector.h:815
#4  0x00007ffff7384bbd in Inkscape::Text::Layout::chunkAnchorPoint(Inkscape::Text::Layout::iterator const&) const (this=this@entry=0x5555570e5920, it=...) at ../src/libnrtype/Layout-TNG-OutIter.cpp:295
#5  0x00007ffff6cabcad in SPText::rebuildLayout() (this=this@entry=0x5555570e56a0) at ../src/object/sp-text.cpp:853
#6  0x00007ffff6cac279 in SPText::write(Inkscape::XML::Document*, Inkscape::XML::Node*, unsigned int) (this=0x5555570e56a0, xml_doc=0x55555646cc18, repr=0x5555564bb2b8, flags=10) at ../src/object/sp-text.cpp:281
#7  0x00007ffff6c814df in SPObject::updateRepr(Inkscape::XML::Document*, Inkscape::XML::Node*, unsigned int) (this=this@entry=0x5555570e56a0, doc=0x55555646cc18, repr=<optimised out>, repr@entry=0x5555564bb2b8, flags=flags@entry=10) at ../src/object/sp-object.cpp:1158
#8  0x00007ffff6c8155b in SPObject::updateRepr(unsigned int) (this=this@entry=0x5555570e56a0, flags=flags@entry=10) at ../src/object/sp-object.cpp:1116
#9  0x00007ffff6c553d7 in SPGroup::write(Inkscape::XML::Document*, Inkscape::XML::Node*, unsigned int) (this=0x5555557be420, xml_doc=0x55555646cc18, repr=0x555556479d08, flags=10) at ../src/object/sp-item-group.cpp:251
#10 0x00007ffff6c814df in SPObject::updateRepr(Inkscape::XML::Document*, Inkscape::XML::Node*, unsigned int) (this=this@entry=0x5555557be420, doc=0x55555646cc18, repr=<optimised out>, repr@entry=0x555556479d08, flags=flags@entry=10) at ../src/object/sp-object.cpp:1158
#11 0x00007ffff6c8155b in SPObject::updateRepr(unsigned int) (this=this@entry=0x5555557be420, flags=flags@entry=10) at ../src/object/sp-object.cpp:1116
#12 0x00007ffff6ff7533 in Inkscape::UI::Dialog::ObjectsPanel::_setExpanded(Gtk::TreeIter const&, Gtk::TreePath const&, bool) (this=0x555558b35400, iter=..., isexpanded=<optimised out>) at ../src/ui/dialog/objects.cpp:1460
#13 0x00007ffff7005622 in sigc::bound_mem_functor3<void, Inkscape::UI::Dialog::ObjectsPanel, Gtk::TreeIter const&, Gtk::TreePath const&, bool>::operator()(Gtk::TreeIter const&, Gtk::TreePath const&, bool const&) const (_A_a3=<optimised out>, _A_a2=..., _A_a1=..., this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2222
#14 0x00007ffff7005622 in sigc::adaptor_functor<sigc::bound_mem_functor3<void, Inkscape::UI::Dialog::ObjectsPanel, Gtk::TreeIter const&, Gtk::TreePath const&, bool> >::operator()<Gtk::TreeIter const&, Gtk::TreePath const&, bool&>(Gtk::TreeIter const&, Gtk::TreePath const&, bool&) const (_A_arg3=<optimised out>, _A_arg2=..., _A_arg1=..., this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:128
#15 0x00007ffff7005622 in sigc::bind_functor<-1, sigc::bound_mem_functor3<void, Inkscape::UI::Dialog::ObjectsPanel, Gtk::TreeIter const&, Gtk::TreePath const&, bool>, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<Gtk::TreeIter const&, Gtk::TreePath const&>(Gtk::TreeIter const&, Gtk::TreePath const&) (_A_arg2=..., _A_arg1=..., this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1158
#16 0x00007ffff7005622 in sigc::internal::slot_call2<sigc::bind_functor<-1, sigc::bound_mem_functor3<void, Inkscape::UI::Dialog::ObjectsPanel, Gtk::TreeIter const&, Gtk::TreePath const&, bool>, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void, Gtk::TreeIter const&, Gtk::TreePath const&>::call_it(sigc::internal::slot_rep*, Gtk::TreeIter const&, Gtk::TreePath const&) (rep=<optimised out>, a_1=..., a_2=...) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:184
#17 0x00007ffff58e12a0 in  () at /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#18 0x00007ffff1e7010d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff1e82bf1 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff1e8b715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff1e8c12f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff4bde46d in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#23 0x00007ffff4be6817 in gtk_tree_view_expand_row () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#24 0x00007ffff4be694b in gtk_tree_view_expand_to_path () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#25 0x00007ffff6ff8080 in Inkscape::UI::Dialog::ObjectsPanel::_addObject(SPObject*, Gtk::TreeRow*) (this=this@entry=0x555558b35400, obj=obj@entry=0x5555557be420, parentRow=parentRow@entry=0x7fffffffccd0) at ../src/ui/dialog/objects.cpp:378
#26 0x00007ffff6ff828c in Inkscape::UI::Dialog::ObjectsPanel::_addObject(SPObject*, Gtk::TreeRow*) (this=this@entry=0x555558b35400, obj=obj@entry=0x5555558f0e00, parentRow=parentRow@entry=0x0) at ../src/ui/dialog/objects.cpp:390
#27 0x00007ffff6ff9f02 in Inkscape::UI::Dialog::ObjectsPanel::_objectsChanged(SPObject*) (this=0x555558b35400) at ../src/ui/dialog/objects.cpp:329
#28 0x00007ffff7006732 in Inkscape::UI::Dialog::ObjectsPanel::ObjectWatcher::notifyChildAdded(Inkscape::XML::Node&, Inkscape::XML::Node&, Inkscape::XML::Node*) (this=<optimised out>) at ../src/ui/dialog/objects.cpp:144
#29 0x00007ffff71f5078 in Inkscape::XML::CompositeNodeObserver::notifyChildAdded(Inkscape::XML::Node&, Inkscape::XML::Node&, Inkscape::XML::Node*) (this=0x5555564bb238, node=..., child=..., prev=0x0) at ../src/xml/composite-node-observer.cpp:43
#30 0x00007ffff7206f0b in Inkscape::XML::SimpleNode::addChild(Inkscape::XML::Node*, Inkscape::XML::Node*) (this=<optimised out>, generic_child=<optimised out>, generic_ref=<optimised out>) at ../src/xml/simple-node.cpp:472
#31 0x00007ffff7321a63 in text_put_on_path() () at ../src/text-chemistry.cpp:158
#32 0x00007ffff733271c in Inkscape::SelectionVerb::perform(SPAction*, void*) (action=0x555557b10c80, data=0x4b) at ../src/verbs.cpp:1196
#33 0x00007ffff733e4ad in sigc::pointer_functor2<SPAction*, void*, void>::operator()(SPAction* const&, void* const&) const (_A_a2=<optimised out>, _A_a1=<optimised out>, this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:147
#34 0x00007ffff733e4ad in sigc::adaptor_functor<sigc::pointer_functor2<SPAction*, void*, void> >::operator()<SPAction*&, void*&>(SPAction*&, void*&) const (_A_arg2=<optimised out>, _A_arg1=<optimised out>, this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:108
#35 0x00007ffff733e4ad in sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<SPAction*&>(SPAction*&) (_A_arg1=<optimised out>, this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1136
#36 0x00007ffff733e4ad in sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()() (this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1124
#37 0x00007ffff733e4ad in sigc::internal::slot_call<sigc::bind_functor<-1, sigc::bind_functor<-1, sigc::pointer_functor2<SPAction*, void*, void>, void*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it(sigc::internal::slot_rep*) (rep=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:461
#38 0x00007ffff6a7a4f1 in sigc::internal::signal_emit0<void, sigc::nil>::emit(sigc::internal::signal_impl*) (impl=0x555557b1fca0) at /usr/include/sigc++-2.0/sigc++/signal.h:798
#39 0x00007ffff6a7a4f1 in sigc::signal0<void, sigc::nil>::emit() const (this=0x58) at /usr/include/sigc++-2.0/sigc++/signal.h:2804
#40 0x00007ffff6a7a4f1 in sp_action_perform(SPAction*, void*) (action=<optimised out>) at ../src/helper/action.cpp:139
#41 0x00007ffff6d0a184 in item_activate(Gtk::MenuItem*, SPAction*) (menuitem=<optimised out>, action=<optimised out>) at ../src/ui/desktop/menubar.cpp:62
#42 0x00007ffff6d0ce0e in sigc::pointer_functor2<Gtk::MenuItem*, SPAction*, void>::operator()(Gtk::MenuItem* const&, SPAction* const&) const (_A_a2=<optimised out>, _A_a1=<optimised out>, this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:147
#43 0x00007ffff6d0ce0e in sigc::adaptor_functor<sigc::pointer_functor2<Gtk::MenuItem*, SPAction*, void> >::operator()<Gtk::MenuItem*&, SPAction*&>(Gtk::MenuItem*&, SPAction*&) const (_A_arg2=<optimised out>, _A_arg1=<optimised out>, this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:108
#44 0x00007ffff6d0ce0e in sigc::bind_functor<-1, sigc::pointer_functor2<Gtk::MenuItem*, SPAction*, void>, Gtk::MenuItem*, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()() (this=<optimised out>) at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1340
#45 0x00007ffff6d0ce0e in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::pointer_functor2<Gtk::MenuItem*, SPAction*, void>, Gtk::MenuItem*, SPAction*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it(sigc::internal::slot_rep*) (rep=<optimised out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:114
#46 0x00007fffef77a548 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () at /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1
#47 0x00007ffff1e7010d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#48 0x00007ffff1e82bf1 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#49 0x00007ffff1e8b715 in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#50 0x00007ffff1e8c12f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#51 0x00007ffff4c049b6 in gtk_widget_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#52 0x00007ffff4ad6f56 in gtk_menu_shell_activate_item () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#53 0x00007ffff4ad71d2 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#54 0x00007ffff4aba8d7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#55 0x00007ffff1e70346 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#56 0x00007ffff1e8b3cd in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#57 0x00007ffff1e8c12f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#58 0x00007ffff4c02514 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#59 0x00007ffff4ab784e in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#60 0x00007ffff4ab9928 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#61 0x00007fffeee03765 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#62 0x00007fffeee33f92 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#63 0x00007ffff5cd6387 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#64 0x00007ffff5cd65c0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#65 0x00007ffff5cd664c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#66 0x00007ffff2156e3d in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#67 0x0000555555554f39 in main(int, char**) (argc=1, argv=0x7fffffffe008) at ../src/inkscape-main.cpp:59

Inkscape Version and Operating System:

  • 0.92.4 5da689c313, 2019-01-14 flatpak, Linux Mint 19.1
  • 1.0alpha (master, 2019-04-27), Linux Mint 19.1
  • Inkscape 0.92.3 (2405546, 2018-03-11) Fedora 29 (coredump posted in https://bugs.launchpad.net/inkscape/+bug/1810360, since not 1.0alpha bt, will just leave it linked)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: inkscape/inbox#421