Comment 9 for bug 1386255

Revision history for this message
Marius Gedminas (mgedmin) wrote :

Details about my GDB session:

- gdb gnome-calculator (easy to trigger the bug: click on the titlebar dropdown; bonus: doesn't hold a keyboard/mouse grab when it gets frozen by gdb)
- 'run'
- click on the titlebar dropdown, see the window freeze
- gdb shows a segfault at 0x0
- 'bt' shows the stack trace; frame #1 is g_closure_invoke; the closure pointer is the same for every crash
- higher up in the stack you see it was called by gtk_grab_notify()
- set a conditional breakpoint 'b g_closure_invoke if closure == 0x....'
- 'run' to restart
- click on the titlebar dropdown again
- the breakpoint trips three times; first two are benign so hit 'cont' twice; the third one causes the crash
- single-stepping with 'n' and 's' shows that you end up in g_type_class_meta_marshal() for GtkScrollbar, with a callback at some address (0x7fffeeb3abe0)
- gdb was unable to resolve that address to a symbol, but /proc/$(pidof gnome-calculator)/maps shows it was in the range mapped to /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/liboverlay-scrollbar.so