Crash with paint bucket (flatpak/fedora)
Migrated from: https://bugs.launchpad.net/inkscape/+bug/1778951, https://bugzilla.redhat.com/show_bug.cgi?id=1575770
Steps to reproduce:
- Use the Inkscape flatpak or build inkscape with
-D_GLIBCXX_ASSERTIONS
added to theINKSCAPE_CXX_FLAGS
inCMakeScripts/DefineDependsandFlags.cmake
, see inkscape!488 (comment 150761651) - Create a rectangle
- Use the Paint Bucket tool and change the fill (note, must click on canvas and cause a change)
What happened?
Crash: Inkscape encountered an internal error and will now close.
Backtrace
Backtrace from 1.0alpha + flag
/usr/include/c++/7/bits/stl_deque.h:1453: std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::front() [with _Tp = Geom::Point; _Alloc = std::allocator; std::deque<_Tp, _Alloc>::reference = Geom::Point&]: Assertion '__builtin_expect(!this->empty(), 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 0x00007ffff414ee97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007ffff4150801 in __GI_abort () at abort.c:79 #2 0x00007ffff6917dec in std::__replacement_assert(char const*, int, char const*, char const*) (__file=__file@entry=0x7ffff75a7bd0 "/usr/include/c++/7/bits/stl_deque.h", __line=__line@entry=1453, __function=__function@entry=0x7ffff76df280 <std::deque<Geom::Point, std::allocatorGeom::Point >::front()::__PRETTY_FUNCTION__> "std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::front() [with _Tp = Geom::Point; _Alloc = std::allocatorGeom::Point; std::deque<_Tp, _Alloc>::reference = Geom::Point&]", __condition=__condition@entry=0x7ffff759d578 "__builtin_expect(!this->empty(), true)") at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:472 #3 0x00007ffff71935cf in std::deque<Geom::Point, std::allocatorGeom::Point >::front() (this=0x7fffffffcbe0) at /usr/include/c++/7/bits/stl_deque.h:1453 #4 0x00007ffff71935cf in Inkscape::UI::Tools::perform_bitmap_scanline_check(std::deque<Geom::Point, std::allocatorGeom::Point >*, guchar*, guchar*, guint32, Inkscape::UI::Tools::bitmap_coords_info, unsigned int*, unsigned int*) (fill_queue=fill_queue@entry=0x7fffffffcbe0, px=px@entry=0x7fffd8051010 "", trace_px=trace_px@entry=0x555558d06d60 "\f", orig_color=orig_color@entry=0, bci=..., min_x=min_x@entry=0x7fffffffc978, max_x=max_x@entry=0x7fffffffc97c) at ../src/ui/tools/flood-tool.cpp:630 #5 0x00007ffff719770d in Inkscape::UI::Tools::sp_flood_do_flood_fill(Inkscape::UI::Tools::ToolBase*, GdkEvent*, bool, bool, bool) (event_context=event_context@entry=0x555558863e00, event=event@entry=0x555558b97030, union_with_selection=, is_point_fill=, is_touch_fill=) at ../src/ui/tools/flood-tool.cpp:1016 #6 0x00007ffff7198263 in Inkscape::UI::Tools::FloodTool::root_handler(_GdkEvent*) (this=0x555558863e00, event=0x555558b97030) at ../src/ui/tools/flood-tool.cpp:1185 #7 0x00007ffff6e6adbd in Inkscape::UI::Tools::sp_event_context_virtual_root_handler(Inkscape::UI::Tools::ToolBase*, _GdkEvent*) (event_context=event_context@entry=0x555558863e00, event=event@entry=0x555558b97030) at ../src/ui/tools/tool-base.cpp:1074 #8 0x00007ffff6e6bc56 in Inkscape::UI::Tools::sp_event_context_root_handler(Inkscape::UI::Tools::ToolBase*, _GdkEvent*) (event_context=0x555558863e00, event=event@entry=0x555558b97030) at ../src/ui/tools/tool-base.cpp:1062 #9 0x00007ffff721cb52 in sp_desktop_root_handler(SPCanvasItem*, _GdkEvent*, SPDesktop*) (event=0x555558b97030, desktop=0x5555564a5a80) at ../src/desktop-events.cpp:90 #10 0x00007ffff6a9d227 in sp_marshal_BOOLEAN__POINTER(GClosure*, GValue*, guint, GValue const*, gpointer, gpointer) (closure=0x5555579851b0, return_value=0x7fffffffd6c0, n_param_values=, param_values=0x7fffffffd5a0, invocation_hint=, marshal_data=) at src/helper/sp-marshal.cpp:120 #11 0x00007ffff1e7110d in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #12 0x00007ffff1e8405e in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #13 0x00007ffff1e8c0af in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #14 0x00007ffff1e8d12f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #15 0x00007ffff6994e47 in SPCanvas::emitEvent(_GdkEvent*) (this=this@entry=0x555557898160, event=event@entry=0x555558afc4a0) at ../src/display/sp-canvas.cpp:1356 #16 0x00007ffff6998be1 in SPCanvas::handle_button(_GtkWidget*, _GdkEventButton*) (widget=, event=0x555558afc4a0) at ../src/display/sp-canvas.cpp:1635 #17 0x00007ffff4abb8d7 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #18 0x00007ffff1e71346 in () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #19 0x00007ffff1e8c3cd in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #20 0x00007ffff1e8d12f in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #21 0x00007ffff4c03514 in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #22 0x00007ffff4ab884e in () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #23 0x00007ffff4aba928 in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #24 0x00007fffeee04765 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 #25 0x00007fffeee34f92 in () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 #26 0x00007ffff5cd7387 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #27 0x00007ffff5cd75c0 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007ffff5cd764c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007ffff2157e3d in g_application_run () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #30 0x0000555555554f39 in main(int, char**) (argc=1, argv=0x7fffffffdfe8) at ../src/inkscape-main.cpp:59
Inkscape Version and Operating System:
- Inkscape 1.0alpha (58de1d542a, 2019-04-21) Linux Mint 19.1
- Inkscape 0.92.x master Linux Mint 19.1
- Inkscape 0.92.4 5da689c313, 2019-01-14, flatpak, Linux Mint 19.1
- Inkscape-0.92.3-2 Fedora 28
- Inkscape-0.92.3-5 Fedora 29
Note: Gwyn Ciesla (limburgher) has dropped FORTIFY_SOURCE=2 in Fedora, eliminating the crash in March 2019