Crash in gtk_accel_groups_activate when closing multiple windows quickly
See https://bugs.launchpad.net/ubuntu/+source/python2.6/+bug/462982 or https://bugzilla.gnome.org/show_bug.cgi?id=599971 for more information on this.
This is pretty much reproducible, not deterministic though.
Stacktrace:
* #0 IA__gtk_accel_groups_activate
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaccelgroup.c line 897
* #1 IA__gtk_window_activate_key
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwindow.c line 8269
* #2 gtk_window_key_press_event
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwindow.c line 5170
* #3 _gtk_marshal_BOOLEAN__BOXED
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmarshalers.c line 84
* #4 IA__g_closure_invoke
at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 767
* #5 signal_emit_unlocked_R
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3285
* #6 IA__g_signal_emit_valist
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 2990
* #7 IA__g_signal_emit
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3037
* #8 gtk_widget_event_internal
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4767
* #9 IA__gtk_propagate_event
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 2391
* #10 IA__gtk_main_do_event
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1622
* #11 gdk_event_dispatch
at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkevents-x11.c line 2369
* #12 IA__g_main_context_dispatch
at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 1960
* #13 g_main_context_iterate
at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 2591
* #14 IA__g_main_loop_run
at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 2799
* #15 IA__gtk_main
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1218
* #16 ??
from /usr/lib/pymodules/python2.6/gtk-2.0/gtk/_gtk.so
* #17 PyEval_EvalFrameEx
at ../Python/ceval.c line 3690
* #18 PyEval_EvalCodeEx
at ../Python/ceval.c line 2968
* #19 PyEval_EvalCode
at ../Python/ceval.c line 522
* #20 PyRun_FileExFlags
at ../Python/pythonrun.c line 1335
* #21 PyRun_SimpleFileExFlags
at ../Python/pythonrun.c line 931
* #22 Py_Main
at ../Modules/main.c line 599
* #23 __libc_start_main
from /lib/libc.so.6
* #24 _start
at ../sysdeps/x86_64/elf/start.S line 113
muelli@xbox:~$ apt-cache policy gajim python-gtk2 libgtk2.0-0
gajim:
Installed: 0.12.5-0ubuntu2
Candidate: 0.12.5-0ubuntu2
Version table:
*** 0.12.5-0ubuntu2 0
400 http://de.archive.ubuntu.com karmic/universe Packages
100 /var/lib/dpkg/status
0.12.1-0ubuntu5 0
500 http://de.archive.ubuntu.com jaunty/universe Packages
python-gtk2:
Installed: 2.16.0-0ubuntu1
Candidate: 2.16.0-0ubuntu1
Version table:
*** 2.16.0-0ubuntu1 0
400 http://de.archive.ubuntu.com karmic/main Packages
100 /var/lib/dpkg/status
2.14.1-1ubuntu1 0
500 http://de.archive.ubuntu.com jaunty/main Packages
libgtk2.0-0:
Installed: 2.18.3-1
Candidate: 2.18.3-1
Version table:
*** 2.18.3-1 0
400 http://de.archive.ubuntu.com karmic/main Packages
100 /var/lib/dpkg/status
2.16.1-0ubuntu2 0
500 http://de.archive.ubuntu.com jaunty/main Packages
muelli@xbox:~$
It doesn't crash always. Sometimes it just hogs the CPU, that is rather unlikely though. I caught a hog:
0x0000000000453a77 in PyObject_Malloc (nbytes=80) at ../Objects/obmalloc.c:758
758 ../Objects/obmalloc.c: No such file or directory.
in ../Objects/obmalloc.c
(gdb) bt
#0 0x0000000000453a77 in PyObject_Malloc (nbytes=80)
at ../Objects/obmalloc.c:758
#1 0x00000000004d2ff9 in _PyObject_GC_Malloc (basicsize=\<value optimized out>)
at ../Modules/gcmodule.c:1351
#2 0x0000000000469cc9 in PyType_GenericAlloc (type=0x2a3fe60, nitems=0)
at ../Objects/typeobject.c:763
#3 0x000000000042cb0c in BaseException_new (type=0x50,
args=\<value optimized out>, kwds=0x0) at ../Objects/exceptions.c:35
#4 0x000000000046bc03 in type_call (type=0x50, args=0x486b2d0, kwds=0x0)
at ../Objects/typeobject.c:731
#5 0x0000000000420b50 in PyObject_CallFunction (callable=0x2a3fe60,
format=\<value optimized out>) at ../Objects/abstract.c:2492
#6 0x0000000000496275 in warn_explicit (category=0x2a3fe60,
message=0x486af30, filename=0x7fee6f4278d0, lineno=3582,
module=0x7fee6f4cce10, registry=0x46310c0, sourceline=0x0)
at ../Python/_warnings.c:311
#7 0x000000000049612e in PyErr_WarnEx (category=0x2a3fe60,
text=\<value optimized out>, stack_level=\<value optimized out>)
at ../Python/_warnings.c:612
#8 0x00007fee6d05a813 in ?? ()
from /usr/lib/pymodules/python2.6/gtk-2.0/gobject/_gobject.so
#9 0x00007fee6d8f7a79 in IA__g_logv (log_domain=\<value optimized out>,
log_level=\<value optimized out>, format=\<value optimized out>,
---Type \<return> to continue, or q \<return> to quit---
args1=0x7fff9687f3c0) at /build/buildd/glib2.0-2.22.2/glib/gmessages.c:519
#10 0x00007fee6d8f7e93 in IA__g_log (
log_domain=0x50 \<Address 0x50 out of bounds>, log_level=60514512,
format=0x0) at /build/buildd/glib2.0-2.22.2/glib/gmessages.c:569
#11 0x00007fee6c633ffb in IA__gtk_accel_group_activate (accel_group=0x3dbd360,
accel_quark=1999, acceleratable=0x4802d30, accel_key=65307, accel_mods=0)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaccelgroup.c:856
#12 0x00007fee6c63419d in IA__gtk_accel_groups_activate (object=0x4802d30,
accel_key=65307, accel_mods=0)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaccelgroup.c:897
#13 0x00007fee6c81c123 in IA__gtk_window_activate_key (window=0x4802d30,
event=\<value optimized out>)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwindow.c:8269
#14 0x00007fee6c81c1a9 in gtk_window_key_press_event (widget=0x50,
event=0x39b60d0) at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwindow.c:5170
#15 0x00007fee6c6ff728 in _gtk_marshal_BOOLEAN__BOXED (closure=0x334cfa0,
return_value=0x7fff9687f720, n_param_values=\<value optimized out>,
param_values=0x42b8c60, invocation_hint=\<value optimized out>,
marshal_data=0x7fee6c81c190)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmarshalers.c:84
#16 0x00007fee6df935ae in IA__g_closure_invoke (closure=0x334cfa0,
return_value=0x7fff9687f720, n_param_values=2, param_values=0x42b8c60,
invocation_hint=0x7fff9687f6e0)
---Type \<return> to continue, or q \<return> to quit---
at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c:767
#17 0x00007fee6dfa864d in signal_emit_unlocked_R (node=0x334ccd0,
detail=\<value optimized out>, instance=\<value optimized out>,
emission_return=\<value optimized out>,
instance_and_params=\<value optimized out>)
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c:3285
#18 0x00007fee6dfa9bcc in IA__g_signal_emit_valist (instance=0x4802d30,
signal_id=\<value optimized out>, detail=0, var_args=0x7fff9687f8d0)
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c:2990
#19 0x00007fee6dfaa283 in IA__g_signal_emit (instance=0x50,
signal_id=60514512, detail=0)
at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c:3037
#20 0x00007fee6c80672f in gtk_widget_event_internal (widget=0x4802d30,
event=0x4575ec0) at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c:4767
#21 0x00007fee6c6f7da4 in IA__gtk_propagate_event (widget=0x4802d30,
event=0x4575ec0) at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:2391
#22 0x00007fee6c6f8ca3 in IA__gtk_main_do_event (event=0x4575ec0)
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1622
#23 0x00007fee6c36dcdc in gdk_event_dispatch (source=\<value optimized out>,
callback=\<value optimized out>, user_data=\<value optimized out>)
at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkevents-x11.c:2369
#24 0x00007fee6d8edbbe in IA__g_main_context_dispatch (context=0x2b07a60)
at /build/buildd/glib2.0-2.22.2/glib/gmain.c:1960
---Type \<return> to continue, or q \<return> to quit---
#25 0x00007fee6d8f1588 in g_main_context_iterate (context=0x2b07a60,
block=\<value optimized out>, dispatch=\<value optimized out>,
self=\<value optimized out>)
at /build/buildd/glib2.0-2.22.2/glib/gmain.c:2591
#26 0x00007fee6d8f19e5 in IA__g_main_loop_run (loop=0x3ad9db0)
at /build/buildd/glib2.0-2.22.2/glib/gmain.c:2799
#27 0x00007fee6c6f9177 in IA__gtk_main ()
at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c:1218
#28 0x00007fee6cd60ec2 in ?? ()
from /usr/lib/pymodules/python2.6/gtk-2.0/gtk/_gtk.so
#29 0x00000000004a2d39 in PyEval_EvalFrameEx (f=0x2e239e0,
throwflag=\<value optimized out>) at ../Python/ceval.c:3690
#30 0x00000000004a4649 in PyEval_EvalCodeEx (co=0x277b828,
globals=\<value optimized out>, locals=\<value optimized out>, args=0x0,
argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at ../Python/ceval.c:2968
#31 0x00000000004a4762 in PyEval_EvalCode (co=0x50, globals=0x39b60d0,
locals=0x0) at ../Python/ceval.c:522
#32 0x00000000004c4c3c in PyRun_FileExFlags (fp=0x2739340,
filename=0x7fff968815b9 "gajim.py", start=\<value optimized out>,
globals=0x26ff750, locals=0x26ff750, closeit=1, flags=0x7fff96880250)
at ../Python/pythonrun.c:1335
#33 0x00000000004c4f6b in PyRun_SimpleFileExFlags (fp=0x2739340,
---Type \<return> to continue, or q \<return> to quit---
filename=0x7fff968815b9 "gajim.py", closeit=1, flags=0x7fff96880250)
at ../Python/pythonrun.c:931
#34 0x00000000004189ce in Py_Main (argc=\<value optimized out>,
argv=0x7fff96880378) at ../Modules/main.c:599
#35 0x00007fee6e4eeabd in __libc_start_main () from /lib/libc.so.6
#36 0x0000000000417ae9 in _start () at ../sysdeps/x86_64/elf/start.S:113
(gdb)
Note that http://trac.gajim.org/attachment/ticket/5117/bug5117.patch doesn't fix it for me.