Re: [BUG]CPU spin when starting notification area and acme



 http://bugzilla.gnome.org/show_bug.cgi?id=122327

Regards,
					Owen

On Wed, 2003-10-15 at 12:39, Stefan Jones wrote:
> Dear all,
> 
> Problem:
> When starting a gnome session ( 2.4.0/1 ) with a notification area
> applet and acme; the gnome-panel, notification area, acme and X use up
> 100% CPU between them.
> 
> How to repeat;
> Add notification area to the gnome panel. Start acme ( ie from command
> line ). Save desktop session so acme starts up automatically. Logout,
> kill all background gnome servers (might not be needed).
> Log back in; gnome-panel, acme, X and notification lock the CPU.
> 
> Workaround;
> As soon as you login click on the gnome-panel, this gives it focus and
> stops the spinning.
> 
> Details:
> This is using acme-2.4.0, gnome-panel-2.4.0, gtk+-2.2.4, glib-2.2.3.
> Xfree-4.3.0 all on a Gentoo system.
> 
> I have attached gdb on the locking processes and took a sample of the
> backtraces:
> 
> acme:
> #0  0xffffe410 in ?? ()
> #1  0xbffff4f8 in ?? ()
> #2  0xffffffff in ?? ()
> #3  0x00000008 in ?? ()
> #4  0x48b6f27e in poll () from /lib/libc.so.6
> #5  0x48d3c25e in g_main_context_poll () from /usr/lib/libglib-2.0.so.0
> #6  0x48d3d742 in g_main_context_iterate () from
> /usr/lib/libglib-2.0.so.0
> #7  0x48d3bda5 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> #8  0x490b3c87 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> #9  0x0804ec32 in main ()
> 
> gnome-panel:
> #0  0xffffe410 in ?? ()
> #1  0xbffff488 in ?? ()
> #2  0x00002c72 in ?? ()
> #3  0x00000015 in ?? ()
> #4  0x48b6f27e in poll () from /lib/libc.so.6
> #5  0x48d3c25e in g_main_context_poll () from /usr/lib/libglib-2.0.so.0
> #6  0x48d3d742 in g_main_context_iterate () from
> /usr/lib/libglib-2.0.so.0
> #7  0x48d3bda5 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> #8  0x490b3c87 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> #9  0x0806090c in main ()
> 
> notification-area-applet:
> #0  0xffffe410 in ?? ()
> #1  0xbfffcda8 in ?? ()
> #2  0x00000030 in ?? ()
> #3  0x08063828 in ?? ()
> #4  0x48d0ee63 in __write_nocancel () from /lib/libpthread.so.0
> #5  0x48c51a90 in _X11TransSocketWrite () from
> /usr/X11R6/lib/libX11.so.6
> #6  0x48c508df in _X11TransWrite () from /usr/X11R6/lib/libX11.so.6
> #7  0x48c31b47 in _XFlushInt () from /usr/X11R6/lib/libX11.so.6
> #8  0x48c32f3d in _XReply () from /usr/X11R6/lib/libX11.so.6
> #9  0x48c2eda5 in XSync () from /usr/X11R6/lib/libX11.so.6
> #10 0x48f8b1e8 in gdk_display_sync () from /usr/lib/libgdk-x11-2.0.so.0
> #11 0x491a8285 in _gtk_xembed_send_message () from
> /usr/lib/libgtk-x11-2.0.so.0
> #12 0x491a55d6 in gtk_plug_set_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #13 0x48da2d04 in g_cclosure_marshal_VOID__OBJECT ()
>    from /usr/lib/libgobject-2.0.so.0
> #14 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #15 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #16 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #17 0x48da0c97 in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #18 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #19 0x4919c2fa in _gtk_window_internal_set_focus ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #20 0x49194a7b in gtk_widget_real_grab_focus ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #21 0x48da20ff in g_cclosure_marshal_VOID__VOID ()
>    from /usr/lib/libgobject-2.0.so.0
> #22 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #23 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #24 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #25 0x48da0c97 in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #26 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #27 0x491948da in gtk_widget_grab_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #28 0x491a725c in gtk_socket_claim_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #29 0x491a730a in gtk_socket_focus () from /usr/lib/libgtk-x11-2.0.so.0
> #30 0x490b5914 in _gtk_marshal_BOOLEAN__ENUM ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #31 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #32 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #33 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #34 0x48da095e in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #35 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #36 0x491971bd in gtk_widget_child_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #37 0x4905b21b in gtk_container_focus_move () from
> /usr/lib/libgtk-x11-2.0.so.0
> #38 0x4905a7f6 in gtk_container_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #39 0x490b5914 in _gtk_marshal_BOOLEAN__ENUM ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #40 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #41 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #42 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #43 0x48da095e in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #44 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #45 0x491971bd in gtk_widget_child_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #46 0x4905b21b in gtk_container_focus_move () from
> /usr/lib/libgtk-x11-2.0.so.0
> #47 0x4905a7f6 in gtk_container_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #48 0x490b5914 in _gtk_marshal_BOOLEAN__ENUM ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #49 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #50 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #51 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #52 0x48da095e in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #53 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #54 0x491971bd in gtk_widget_child_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #55 0x4905b21b in gtk_container_focus_move () from
> /usr/lib/libgtk-x11-2.0.so.0
> #56 0x4905a7f6 in gtk_container_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #57 0x498b8a45 in panel_applet_focus () from
> /usr/lib/libpanel-applet-2.so.0
> #58 0x490b5914 in _gtk_marshal_BOOLEAN__ENUM ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #59 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #60 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #61 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #62 0x48da095e in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #63 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #64 0x491971bd in gtk_widget_child_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #65 0x491a58e3 in gtk_plug_focus () from /usr/lib/libgtk-x11-2.0.so.0
> #66 0x490b5914 in _gtk_marshal_BOOLEAN__ENUM ()
>    from /usr/lib/libgtk-x11-2.0.so.0
> #67 0x48d8f5c6 in g_type_class_meta_marshal ()
>    from /usr/lib/libgobject-2.0.so.0
> #68 0x48d8eeb4 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> #69 0x48da17ca in signal_emit_unlocked_R () from
> /usr/lib/libgobject-2.0.so.0
> #70 0x48da095e in g_signal_emit_valist () from
> /usr/lib/libgobject-2.0.so.0
> #71 0x48da0f80 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> #72 0x491971bd in gtk_widget_child_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #73 0x491a7a0f in advance_toplevel_focus () from
> /usr/lib/libgtk-x11-2.0.so.0
> #74 0x491a7c7f in gtk_socket_filter_func () from
> /usr/lib/libgtk-x11-2.0.so.0
> #75 0x48f94848 in gdk_event_apply_filters () from
> /usr/lib/libgdk-x11-2.0.so.0
> #76 0x48f9659b in gdk_event_translate () from
> /usr/lib/libgdk-x11-2.0.so.0
> #77 0x48f9689f in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
> #78 0x48f96a75 in gdk_event_dispatch () from
> /usr/lib/libgdk-x11-2.0.so.0
> #79 0x48d3d303 in g_main_dispatch () from /usr/lib/libglib-2.0.so.0
> #80 0x48d3b7e8 in g_main_context_dispatch () from
> /usr/lib/libglib-2.0.so.0
> #81 0x48d3d7bb in g_main_context_iterate () from
> /usr/lib/libglib-2.0.so.0
> #82 0x48d3bda5 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> #83 0x49679f0c in bonobo_main () from /usr/lib/libbonobo-2.so.0
> #84 0x49677b41 in bonobo_generic_factory_main_timeout ()
>    from /usr/lib/libbonobo-2.so.0
> #85 0x49677a61 in bonobo_generic_factory_main () from
> /usr/lib/libbonobo-2.so.0
> #86 0x498b64a1 in panel_applet_factory_main_closure ()
>    from /usr/lib/libpanel-applet-2.so.0
> #87 0x498b65d3 in panel_applet_factory_main ()
>    from /usr/lib/libpanel-applet-2.so.0
> #88 0x0804b2a5 in main ()
> 
> As you can see it is something to do with notification area sending
> focus signals some where ( acme and/or gnome-panel ?? ). Only when you
> click on the panel ( I assume) is the signal sent correctly, thus
> breaking the loop. ( This is all a guess, the gtk+ program loop is
> beyond me! )
> 
> Is this a known problem; any patches to try?
> 
> Please CC me in replies ( as I am not on the list ).
> Anymore debugging / information will be freely offered, just ask!
> 
> Thanks,
> 
> Stefan
> 
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list
> 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]