Bug#352461: gnome-panel: icons do not work and applets
disappeared after upgrade
Brice Goglin
Brice.Goglin at ens-lyon.org
Mon Feb 20 22:37:57 UTC 2006
Sjoerd Simons wrote:
>As i can't reproduce this, so i will need to ask you to upgrade again. Is one
>of the applets or the panel using a lot of cpu when this happens maybe ? If not
>could you strace or ltrace the panel and mail a small piece of the output
>(Especially if it loops at some point)
>
>
Here's the output of ps -u <mylogin> after Gnome started.
8283 tty1 00:00:00 bash
8334 ? 00:00:00 .xsession
8383 ? 00:00:00 tpb
8399 ? 00:00:00 ssh-agent
8402 ? 00:00:00 dbus-launch
8403 ? 00:00:00 dbus-daemon
8406 ? 00:00:00 gnome-session
8409 ? 00:00:03 gconfd-2
8414 ? 00:00:00 gnome-keyring-d
8416 ? 00:00:00 bonobo-activati
8418 ? 00:00:00 metacity
8422 ? 00:00:00 gnome-settings-
8429 ? 00:00:00 gam_server
8433 ? 00:00:00 gnome-panel
8435 ? 00:00:00 nautilus
8437 ? 00:00:00 gnome-volume-ma
8449 ? 00:00:00 xscreensaver-co
8456 ? 00:00:00 gnome-vfs-daemo
8471 ? 00:00:00 sleep
8477 ? 00:00:00 mapping-daemon
8479 ? 00:03:27 wnck-applet <<<< takes 100% of the CPU
8481 ? 00:00:00 xscreensaver
8486 ? 00:00:00 gnome-cups-icon
8567 tty1 00:00:00 ps
strace/ltrace on this wnck-applet don't get anything. So it looks like
it's calling there's no syscall and no external lib call. Then I ran gdb
to see what's going on and that's interesting:
0xb79dc2ba in __i686.get_pc_thunk.bx ()
from /lib/tls/libpthread.so.0
(gdb) where
#0 0xb79dc2ba in __i686.get_pc_thunk.bx () from /lib/tls/libpthread.so.0
#1 0xb79dedb7 in pthread_mutex_lock () from /lib/tls/libpthread.so.0
#2 0xb7a92067 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
#3 0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
#4 0xb7fbc6e6 in wnck_window_get_type () from /usr/lib/libwnck-1.so.18
#5 0xb7fbcbf9 in wnck_window_get_transient () from /usr/lib/libwnck-1.so.18
#6 0xb7fb8f8d in wnck_tasklist_get_size_hint_list () from
/usr/lib/libwnck-1.so.18
#7 0xb7fbb4ef in wnck_tasklist_get_size_hint_list () from
/usr/lib/libwnck-1.so.18
#8 0xb7fbb6e2 in wnck_tasklist_set_screen () from /usr/lib/libwnck-1.so.18
#9 0xb7fbb883 in wnck_tasklist_new () from /usr/lib/libwnck-1.so.18
#10 0x0804e272 in window_list_applet_fill ()
#11 0xb7fd6c60 in panel_applet_marshal_BOOLEAN__STRING () from
/usr/lib/libpanel-applet-2.so.0
#12 0xb7a78839 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#13 0xb74a489f in bonobo_closure_invoke_va_list () from
/usr/lib/libbonobo-2.so.0
#14 0xb74a4b65 in bonobo_closure_invoke () from /usr/lib/libbonobo-2.so.0
#15 0xb7fd2835 in panel_applet_get_type () from
/usr/lib/libpanel-applet-2.so.0
#16 0xb7a84f0b in g_cclosure_marshal_VOID__VOID () from
/usr/lib/libgobject-2.0.so.0
#17 0xb7a78839 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0xb7a880ea in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
#19 0xb7a89970 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0xb7a89cd9 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0xb7ebedf7 in bonobo_control_add_listener () from
/usr/lib/libbonoboui-2.so.0
#22 0xb74a6329 in _ORBIT_skel_small_Bonobo_Control_setFrame () from
/usr/lib/libbonobo-2.so.0
#23 0xb743ef86 in ORBit_POA_setup_root () from /usr/lib/libORBit-2.so.0
#24 0xb7443574 in ORBit_OAObject_invoke () from /usr/lib/libORBit-2.so.0
#25 0xb743030b in ORBit_small_invoke_adaptor () from
/usr/lib/libORBit-2.so.0
#26 0xb743f297 in ORBit_POAObject_post_invoke () from
/usr/lib/libORBit-2.so.0
#27 0xb743f894 in ORBit_POAObject_post_invoke () from
/usr/lib/libORBit-2.so.0
#28 0xb7441ef8 in ORBit_c_stub_invoke () from /usr/lib/libORBit-2.so.0
#29 0xb7443471 in ORBit_handle_request () from /usr/lib/libORBit-2.so.0
#30 0xb742d1a6 in giop_connection_handle_input () from
/usr/lib/libORBit-2.so.0
#31 0xb7449b09 in link_connection_set_max_buffer () from
/usr/lib/libORBit-2.so.0
#32 0xb744b6e7 in link_servers_move_io_T () from /usr/lib/libORBit-2.so.0
#33 0xb7a0fb8c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0xb7a12f6b in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#35 0xb7a132c7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#36 0xb7492758 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#37 0xb7490bf2 in bonobo_generic_factory_main_timeout () from
/usr/lib/libbonobo-2.so.0
#38 0xb7490c77 in bonobo_generic_factory_main () from
/usr/lib/libbonobo-2.so.0
#39 0xb7fd4523 in panel_applet_factory_main_closure () from
/usr/lib/libpanel-applet-2.so.0
#40 0xb7fd4603 in panel_applet_factory_main () from
/usr/lib/libpanel-applet-2.so.0
#41 0x0804cacf in main ()
continue for a couple seconds, and break gives (removed the top of the
stack since it's the same):
#0 0xb79df1d1 in pthread_mutex_unlock () from /lib/tls/libpthread.so.0
#1 0xb7a2e8e3 in g_static_rw_lock_writer_unlock () from
/usr/lib/libglib-2.0.so.0
#2 0xb7a92090 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
#3 0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
again and again:
#0 0xb7a2e64a in g_static_rw_lock_writer_lock () from
/usr/lib/libglib-2.0.so.0
#1 0xb7a92078 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
#2 0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
#0 0xb7a2e84c in g_static_rw_lock_writer_unlock () from
/usr/lib/libglib-2.0.so.0
#1 0xb7a92090 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
#2 0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
#0 0xb79df1d1 in pthread_mutex_unlock () from /lib/tls/libpthread.so.0
#1 0xb7a2e6d0 in g_static_rw_lock_writer_lock () from
/usr/lib/libglib-2.0.so.0
#2 0xb7a92078 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
#3 0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
So looks like g_type_init_with_debug_flags is always involved. Let's see
if it returns sometimes:
(gdb) frame 2
#2 0xb7a92078 in g_type_init_with_debug_flags () from
/usr/lib/libgobject-2.0.so.0
(gdb) finish
Run till exit from #2 0xb7a92078 in g_type_init_with_debug_flags ()
from /usr/lib/libgobject-2.0.so.0
0xb7a922f2 in g_type_init () from /usr/lib/libgobject-2.0.so.0
(gdb) c
Continuing.
It never returned. So looks like g_type_init_with_debug_flags is stucked.
If I kill wnck-applet, gnome shows one or two windows saying that such
applet or gnome-panel has crashed. I click on "Reload" and the whole
panel appears with all icons and applets working. So the situation is
actually not so bad since I can get a usable environment after killing a
process and clicking on Reload once or twice.
Later, wnck-applet sometimes comes back to 100% cpu. I kill it again and
everything works fine again.
In case it matters, I have the following in my .xsession:
#!/bin/bash
ssh-add < /dev/null &
xmodmap -e 'keycode 113 = Multi_key'
gnome-session
The ssh-askpass window appears before Gnome startup. It looks like
closing this window as soon as possible (I mean before the Gnome panel
appears) prevents the bug from occuring. But I can't really be sure this
is always true.
Thanks,
Brice
More information about the Pkg-gnome-maintainers
mailing list