Crash when trying to group / ungroup objects
Summary:
Application will crash when one tries to group or ungroup certain objects (does not happen always). In this case the box objects had Connector tool made edges between them. Inside each box a set of text objects one of which is on the same layer as the box and other is on it's own layer.
backtrace:
0# Inkscape::Application::crash_handler(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
1# 0x00007F0F5C7AA3E0 in /lib64/libc.so.6
2# 0x00007F0F5C7FB94C in /lib64/libc.so.6
3# raise in /lib64/libc.so.6
4# abort in /lib64/libc.so.6
5# 0x00007F0F5C79225B in /lib64/libc.so.6
6# 0x00007F0F5C7A2946 in /lib64/libc.so.6
7# 0x00007F0F5E6735C5 in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
8# Avoid::Obstacle::Obstacle(Avoid::Router*, Avoid::Polygon, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
9# Avoid::ShapeRef::ShapeRef(Avoid::Router*, Avoid::Polygon&, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
10# SPAvoidRef::handleSettingChange() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
11# SPShape::update(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
12# SPObject::updateDisplay(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
13# SPGroup::update(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
14# SPObject::updateDisplay(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
15# SPGroup::update(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
16# SPObject::updateDisplay(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
17# SPGroup::update(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
18# SPRoot::update(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
19# SPObject::updateDisplay(SPCtx*, unsigned int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
20# SPDocument::_updateDocument(int) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
21# SPDocument::ensureUpToDate() in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
22# Inkscape::DocumentUndo::maybeDone(SPDocument*, char const*, Glib::ustring const&, Glib::ustring const&) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
23# select_object_group(InkscapeApplication*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
24# 0x00007F0F5CDD32B4 in /usr/lib64/libgiomm-2.4.so.1
25# g_closure_invoke in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
26# 0x00007F0F5BC3DDA7 in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
27# 0x00007F0F5BC3F4A1 in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
28# g_signal_emit_valist in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
29# g_signal_emit in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
30# 0x00007F0F5BD6B9C5 in /usr/bin/../lib64/inkscape/../libgio-2.0.so.0
31# Inkscape::Shortcuts::invoke_action(_GdkEventKey const*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
32# InkscapeWindow::on_key_press_event(_GdkEventKey*) in /usr/bin/../lib64/inkscape/libinkscape_base.so.1.3.2.0
33# Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) in /usr/bin/../lib64/inkscape/../libgtkmm-3.0.so.1
34# 0x00007F0F5A65CC2A in /usr/bin/../lib64/inkscape/../libgtk-3.so.0
35# 0x00007F0F5BC2A229 in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
36# 0x00007F0F5BC3E859 in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
37# g_signal_emit_valist in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
38# g_signal_emit in /usr/bin/../lib64/inkscape/../libgobject-2.0.so.0
39# 0x00007F0F5A91FE9C in /usr/bin/../lib64/inkscape/../libgtk-3.so.0
40# 0x00007F0F5A7CDB0F in /usr/bin/../lib64/inkscape/../libgtk-3.so.0
41# gtk_main_do_event in /usr/bin/../lib64/inkscape/../libgtk-3.so.0
42# 0x00007F0F5A535889 in /usr/bin/../lib64/inkscape/../libgdk-3.so.0
43# 0x00007F0F5A567DF6 in /usr/bin/../lib64/inkscape/../libgdk-3.so.0
44# 0x00007F0F5CED5942 in /usr/lib64/libglib-2.0.so.0
45# 0x00007F0F5CED8C17 in /usr/lib64/libglib-2.0.so.0
46# g_main_context_iteration in /usr/lib64/libglib-2.0.so.0
47# g_application_run in /usr/bin/../lib64/inkscape/../libgio-2.0.so.0
48# main in inkscape
49# 0x00007F0F5C793D90 in /lib64/libc.so.6
50# __libc_start_main in /lib64/libc.so.6
51# _start in inkscape
Steps to reproduce:
- open Inkscape
- create set of boxes with some text and interconnect these with "connector tool". Group / ungroup text inside the boxes with the boxes.
- Note: All this worked first so we do not have a clear idea where and why the corruption was introduced.
- Once a group, or set of objects, caused a crash - group/ungroup on such failed element will cause a crash every time (after opening Inkscape and loading the file again).
What happened?
Crash.
What should have happened?
Ungroup or group object action.
Sample attachments:
Version info
Inkscape 1.3.2 (091e20ef0f, 2023-11-25)
GLib version: 2.78.3
GTK version: 3.24.39
glibmm version: 2.66.6
gtkmm version: 3.24.8
libxml2 version: 2.12.4
libxslt version: 1.1.39
Cairo version: 1.18.0
Pango version: 1.51.0
HarfBuzz version: 8.3.0
OS version: Gentoo Linux
Edited by Antti Antinoja