Crash when recreating grid using 'redo'

Bug #168570 reported by Maximilian Albert
2
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Critical
Johan Engelen

Bug Description

In the current svn version (revision #14805) inkscape crashes when trying
to recreate a grid via 'redo' that was previously deleted by 'undo'.

Steps to reproduce:

1) start inkscape
2) open the 'Document properties' dialog (ctrl+shift+D)
3) go to the 'Grids' tab and create a new grid
4) undo this operation (ctrl+Z)
5) redo it (ctrl+Y)

Step 5 produces the crash.

I'm on Debian unstable. Here is the backtrace from gdb:

#0 0xb713a947 in raise () from /lib/tls/libc.so.6
#1 0xb713c0c9 in abort () from /lib/tls/libc.so.6
#2 0xb7338994 in __gnu_cxx::__verbose_terminate_handler () from
/usr/lib/libstdc++.so.6
#3 0xb73363b5 in std::set_unexpected () from /usr/lib/libstdc++.so.6
#4 0xb73363f2 in std::terminate () from /usr/lib/libstdc++.so.6
#5 0xb733652a in __cxa_throw () from /usr/lib/libstdc++.so.6
#6 0xb72cd27f in std::__throw_logic_error () from /usr/lib/libstdc++.so.6
#7 0xb7312ccf in std::string::_S_copy_chars () from
/usr/lib/libstdc++.so.6
#8 0xb7312e79 in std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string () from /usr/lib/libstdc++.so.6
#9 0xb7c40914 in Glib::ustring::ustring () from
/usr/lib/libglibmm-2.4.so.1
#10 0x08194632 in
Inkscape::UI::Dialog::DocumentProperties::update_gridspage (this=0x9b7c768)
at ui/dialog/document-properties.cpp:352
#11 0x08437741 in Inkscape::XML::CompositeNodeObserver::notifyChildAdded
(this=0x86dc510, node=@0x86dc530, child=@0x90b2350, prev=0x0)
    at xml/composite-node-observer.cpp:32
#12 0x08111b70 in Inkscape::XML::SimpleNode::addChild (this=0x86dc4e0,
child=0x90b2350, ref=0x0) at xml/simple-node.cpp:385
#13 0x0843f1da in Inkscape::XML::EventAdd::_replayOne (this=0x9923fd8,
observer=@0x85af584) at xml/event.cpp:210
#14 0x0843f523 in Inkscape::XML::replay_log_to_observer (log=0x9924fe0,
observer=@0x85af584) at xml/event.h:53
#15 0x0843fa88 in sp_repr_replay_log (log=0x9924fe0) at xml/event.cpp:204
#16 0x08124553 in sp_document_redo (doc=0x86ddfa0) at
document-undo.cpp:282
#17 0x0808f38a in sp_redo (desktop=0x86f4e00) at
selection-chemistry.cpp:843
#18 0x082cfab0 in sp_action_perform (action=0x86e3bd0, data=0x0) at
helper/action.cpp:146
#19 0x0809ae98 in sp_shortcut_invoke (shortcut=33554553, view=0x86f4e00) at
shortcuts.cpp:53
#20 0x082d3c19 in sp_window_key_press (widget=0x8b67c18, event=0xa2a1058)
at helper/window.cpp:33
#21 0xb783e250 in _gtk_marshal_BOOLEAN__BOXED () from
/usr/lib/libgtk-x11-2.0.so.0
#22 0xb758998b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0xb759a213 in g_signal_chain_from_overridden () from
/usr/lib/libgobject-2.0.so.0
#24 0xb759b208 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#25 0xb759b5d9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0xb7927e84 in gtk_widget_get_default_style () from
/usr/lib/libgtk-x11-2.0.so.0
#27 0xb7837c0a in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb7838e07 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb76d1eea in _gdk_events_init () from /usr/lib/libgdk-x11-2.0.so.0
#30 0xb750db21 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#31 0xb7510b96 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#32 0xb7510f57 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#33 0xb7839281 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#34 0xb7ea3597 in Gtk::Main::run_impl () from /usr/lib/libgtkmm-2.4.so.1
#35 0xb7ea3442 in Gtk::Main::run () from /usr/lib/libgtkmm-2.4.so.1
#36 0x08078b3c in sp_main_gui (argc=1, argv=0xbfa3e114) at main.cpp:657
#37 0x081847c3 in Inkscape::NSApplication::Application::run
(this=0xbfa3e064) at application/application.cpp:117
#38 0x08078917 in main (argc=1, argv=0xbfa3e114) at main.cpp:504

Revision history for this message
Bryce Harrington (bryce) wrote :

There's been a lot of additional work to the grids code recently - can you try a current snapshot of Inkscape and see if the issue still exists?

Changed in inkscape:
status: New → Incomplete
Revision history for this message
Maximilian Albert (cilix) wrote :

Unfortunately yes, it's still present in rev #16603.

Changed in inkscape:
status: Incomplete → Confirmed
Revision history for this message
Johan Engelen (johanengelen) wrote :

fixed :)

Changed in inkscape:
status: Confirmed → Fix Released
Changed in inkscape:
milestone: none → 0.46
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.