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,214
    • Issues 1,214
    • 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
  • #420

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

Crash on select all with text on path (debug build)

Steps to reproduce:

  1. Open Inkscape (Recent 1.0alpha debug build, Fedora 28+ dnf package, or flatpak 0.92.4 version)
  2. Create flowed/normal text
  3. Create ellipse (or path/polygon).
  4. Place text on ellipse
  5. Select text (with the text tool active)
  6. Select all text (Ctrl+A)
  7. Crash

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::Glyph; _Alloc = std::allocator<Inkscape::Text::Layout::Glyph>; std::vector<_Tp, _Alloc>::const_reference = const Inkscape::Text::Layout::Glyph&; 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=0x7ffff7718cc0 <_ZZNKSt6vectorIN8Inkscape4Text6Layout5GlyphESaIS3_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::Glyph; _Alloc = std::allocator<Inkscape::T"..., __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  0x00007ffff73833a5 in std::vector<Inkscape::Text::Layout::Glyph, std::allocator<Inkscape::Text::Layout::Glyph> >::operator[](unsigned long) const (__n=<optimised out>, this=0x55555584dfe0) at /usr/include/c++/7/bits/stl_vector.h:815
#4  0x00007ffff73833a5 in Inkscape::Text::Layout::characterBoundingBox(Inkscape::Text::Layout::iterator const&, double*) const (this=this@entry=
    0x55555584deb0, it=..., rotation=rotation@entry=0x7fffffffc4d8)
    at ../src/libnrtype/Layout-TNG-OutIter.cpp:311
#5  0x00007ffff7387d90 in Inkscape::Text::Layout::createSelectionShape(Inkscape::Text::Layout::iterator const&, Inkscape::Text::Layout::iterator const&, Geom::Affine const&) const (this=0x55555584deb0, it_start=..., it_end=..., transform=...) at ../src/libnrtype/Layout-TNG-OutIter.cpp:396
---Type <return> to continue, or q <return> to quit---
#6  0x00007ffff7324457 in sp_te_create_selection_quads(SPItem const*, Inkscape::Text::Layout::iterator const&, Inkscape::Text::Layout::iterator const&, Geom::Affine const&) (item=<optimised out>, start=..., end=..., transform=...)
    at ../src/text-editing.cpp:122
#7  0x00007ffff6e61906 in Inkscape::UI::Tools::sp_text_context_update_text_selection(Inkscape::UI::Tools::TextTool*) (tc=tc@entry=0x555558e29210)
    at ../src/ui/tools/text-tool.cpp:1712
#8  0x00007ffff6e66dc7 in Inkscape::UI::Tools::TextTool::root_handler(_GdkEvent*) (this=0x555558e29210, event=0x7fffc0004530)
    at ../src/ui/tools/text-tool.cpp:894
#9  0x00007ffff6e69e49 in Inkscape::UI::Tools::sp_event_context_virtual_root_handler(Inkscape::UI::Tools::ToolBase*, _GdkEvent*) (event_context=event_context@entry=0x555558e29210, event=event@entry=0x7fffc0004530)
    at ../src/ui/tools/tool-base.cpp:1074

#10 0x00007ffff6e69ea1 in Inkscape::UI::Tools::sp_event_context_virtual_item_handler(Inkscape::UI::Tools::ToolBase*, SPItem*, _GdkEvent*) (event_context=event_context@entry=0x555558e29210, item=item@entry=
    0x555558b82500, event=event@entry=0x7fffc0004530)
    at ../src/ui/tools/tool-base.cpp:1124
#11 0x00007ffff6e6ad63 in Inkscape::UI::Tools::sp_event_context_item_handler(Inkscape::UI::Tools::ToolBase*, SPItem*, _GdkEvent*) (event_context=0x555558e29210, item=0x555558b82500, event=0x7fffc0004530)
    at ../src/ui/tools/tool-base.cpp:1113
---Type <return> to continue, or q <return> to quit---
#12 0x00007ffff72244b6 in _arena_handler(SPCanvasArena*, Inkscape::DrawingItem*, GdkEvent*, SPDesktop*) (ai=<optimised out>, event=<optimised out>, desktop=<optimised out>) at ../src/desktop.cpp:1825
#13 0x00007ffff6a9c5a5 in sp_marshal_INT__POINTER_POINTER(GClosure*, GValue*, guint, GValue const*, gpointer, gpointer) (closure=0x5555579a28d0, return_value=0x7fffffffccb0, n_param_values=<optimised out>, param_values=0x7fffffffcb70, invocation_hint=<optimised out>, marshal_data=<optimised out>)
    at src/helper/sp-marshal.cpp:242
#14 0x00007ffff1e7010d in g_closure_invoke ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0

#15 0x00007ffff1e8305e in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff1e8b0af in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#17 0x00007ffff1e8c12f in g_signal_emit ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#18 0x00007ffff691f255 in sp_canvas_arena_send_event(SPCanvasArena*, GdkEvent*) (arena=arena@entry=0x5555579a4000, event=event@entry=0x7fffc0004530)
    at ../src/display/canvas-arena.cpp:328
#19 0x00007ffff691f902 in sp_canvas_arena_event(SPCanvasItem*, GdkEvent*) (item=item@entry=0x5555579a4000, event=0x7fffc0004530)
    at ../src/display/canvas-arena.cpp:315
#20 0x00007ffff6a9c347 in sp_marshal_BOOLEAN__POINTER(GClosure*, GValue*, guint, GValue const*, gpointer, gpointer) (closure=0x555557229720, return_value=0x7fff---Type <return> to continue, or q <return> to quit---
ffffd2c0, n_param_values=<optimised out>, param_values=0x7fffffffd1a0, invocation_hint=<optimised out>, marshal_data=<optimised out>)
    at src/helper/sp-marshal.cpp:120
#21 0x00007ffff1e7010d in g_closure_invoke ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff1e82de8 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff1e8b0af in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff1e8c12f in g_signal_emit ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#25 0x00007ffff6993f61 in SPCanvas::emitEvent(_GdkEvent*) (this=<optimised out>, event=event@entry=0x5555591562a0) at ../src/display/sp-canvas.cpp:1356
#26 0x00007ffff6994057 in SPCanvas::handle_key_event(_GtkWidget*, _GdkEventKey*) (widget=0x5555578b6160, event=0x5555591562a0)
    at ../src/display/sp-canvas.cpp:2335
#27 0x00007ffff4aba8d7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#28 0x00007ffff1e70250 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#29 0x00007ffff1e8b3cd in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#30 0x00007ffff1e8c12f in g_signal_emit ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#31 0x00007ffff4c02514 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#32 0x00007ffff4c22eeb in gtk_window_propagate_key_event ()
---Type <return> to continue, or q <return> to quit---
    at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#33 0x00007ffff4c268db in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#34 0x00007ffff58e8897 in Gtk::Widget::on_key_press_event(_GdkEventKey*) ()
    at /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#35 0x00007ffff7340191 in InkscapeWindow::on_key_press_event(_GdkEventKey*) (this=0x55555703e7e0, event=0x5555591562a0) at ../src/inkscape-window.cpp:125
#36 0x00007ffff58eaab4 in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () at /usr/lib/x86_64-linux-gnu/libgtkmm-3.0.so.1
#37 0x00007ffff4aba8d7 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#38 0x00007ffff1e70346 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff1e8b3cd in g_signal_emit_valist ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#40 0x00007ffff1e8c12f in g_signal_emit ()
    at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#41 0x00007ffff4c02514 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#42 0x00007ffff4ab791f in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#43 0x00007ffff4ab9928 in gtk_main_do_event ()
    at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#44 0x00007fffeee03765 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#45 0x00007fffeee33f92 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#46 0x00007ffff5cd6387 in g_main_context_dispatch ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007ffff5cd65c0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#48 0x00007ffff5cd664c in g_main_context_iteration ()
    at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007ffff2156e3d in g_application_run ()
    at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#50 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
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#420