After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 121760 - rhythmbox's warnings when the panel restart
rhythmbox's warnings when the panel restart
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
0.8.8
Other other
: Normal minor
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 123333 124462 124718 127099 127997 130039 130277 130515 134765 137171 155297 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2003-09-08 16:14 UTC by hofi
Modified: 2005-06-11 12:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
something like that... (3.30 KB, patch)
2003-09-08 18:19 UTC, Bastien Nocera
needs-work Details | Review
or something like this (1.67 KB, patch)
2005-03-26 12:23 UTC, Jonathan Matthew
none Details | Review

Description hofi 2003-09-08 16:15:05 UTC
Distribution: Debian testing/unstable
Package: rhythmbox
Severity: critical
Version: GNOME2.3.90 HEAD
Gnome-Distributor: GARNOME
Synopsis: rhythmbox doesn't survive a gnome-panel restart
Bugzilla-Product: rhythmbox
Bugzilla-Component: Interface
Bugzilla-Version: HEAD
BugBuddy-GnomeVersion: 2.0 (2.4.0)
Description:
Description of the crash:
rhythmbox doesn't survive a gnome-panel restart.
the try icon doesn't get redisplayed when panel comes back up,
and rhyhtmbox crashes upon next song change.
interestingly the sound is still running as i type out this bug report

Steps to reproduce the crash:
1. killall gnome-panel
2. wait for song to end playing
3. watch it bomb

Expected Results:
tray icon gets refreshed and rb doesn't crash

How often does this happen?
everytime

Additional Information:
garnome 0.26.2
rhythmbox 0.5.3 which isn't selectable in zilla


Debugging Information:

Backtrace was generated from '/usr/local/gar262/bin/rhythmbox'

[New Thread 16384 (LWP 30176)]
[New Thread 32769 (LWP 30181)]
[New Thread 16386 (LWP 30182)]
[New Thread 32771 (LWP 30183)]
[New Thread 131077 (LWP 30248)]
0x40c97b89 in wait4 () from /lib/libc.so.6

Thread 3 (Thread 16386 (LWP 30182))

  • #0 sigsuspend
    from /lib/libc.so.6
  • #1 __pthread_wait_for_restart_signal
    from /lib/libpthread.so.0
  • #2 __pthread_alt_lock
    from /lib/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #4 gdk_threads_enter
    from /usr/local/gar262/lib/libgdk-x11-2.0.so.0
  • #5 rb_thread_helpers_lock_gdk
  • #6 signal_progress_changed
  • #7 rb_library_update_uri
  • #8 main_thread_main
  • #9 g_thread_create_proxy
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #10 pthread_start_thread
    from /lib/libpthread.so.0

Thread 1 (Thread 16384 (LWP 30176))

  • #0 wait4
    from /lib/libc.so.6
  • #1 sys_sigabbrev
    from /lib/libc.so.6
  • #2 waitpid
    from /lib/libpthread.so.0
  • #3 libgnomeui_module_info_get
    from /usr/local/gar262/lib/libgnomeui-2.so.0
  • #4 __pthread_sighandler
    from /lib/libpthread.so.0
  • #5 sigaction
    from /lib/libc.so.6
  • #6 rb_shell_set_window_title
  • #7 rb_shell_player_window_title_changed_cb
  • #8 g_cclosure_marshal_VOID__STRING
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #9 g_closure_invoke
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #10 signal_emit_unlocked_R
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #11 g_signal_emit_valist
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #12 g_signal_emit
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #13 rb_shell_player_sync_with_source
  • #14 rb_shell_player_play
  • #15 rb_shell_player_set_playing_node
  • #16 rb_shell_player_next
  • #17 eos_cb
  • #18 g_cclosure_marshal_VOID__VOID
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #19 g_closure_invoke
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #20 signal_emit_unlocked_R
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #21 g_signal_emit_valist
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #22 g_signal_emit
    from /usr/local/gar262/lib/libgobject-2.0.so.0
  • #23 eos_signal_idle
  • #24 g_idle_dispatch
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #25 g_main_dispatch
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #26 g_main_context_dispatch
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #27 g_main_context_iterate
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #28 g_main_loop_run
    from /usr/local/gar262/lib/libglib-2.0.so.0
  • #29 bonobo_main
    from /usr/local/gar262/lib/libbonobo-2.so.0
  • #30 main
  • #31 __libc_start_main
    from /lib/libc.so.6
  • #0 wait4
    from /lib/libc.so.6




------- Bug moved to this database by unknown@bugzilla.gnome.org 2003-09-08 12:15 -------

Reassigning to the default owner of the component, rhythmbox-maint@bugzilla.gnome.org.

Comment 1 Bastien Nocera 2003-09-08 17:30:44 UTC
This bug is two-fold.
First, you need to catch the destroy signal on the eggtrayicon, so
that you can recreate the icon if the notification area has been
destroyed (panel crash/restart)
Second, you need to check that the tray icon exists before
manipulating it :)
Comment 2 Bastien Nocera 2003-09-08 18:19:19 UTC
Created attachment 19813 [details] [review]
something like that...
Comment 3 hofi 2003-09-09 14:33:10 UTC
proposed patch worked for me.
Comment 4 hofi 2003-09-09 14:56:26 UTC
nevermind that.

proposed patch solved the tray icon refreshing upon panel restart, but
disabled
'next' 'prev' and 'pause' buttons in tray menu.

'show window' as well as left/right clicking tray window still works.
Comment 5 Colin Walters 2003-09-18 05:26:30 UTC
This patch doesn't seem to help - I get:

(rhythmbox:14290): Gdk-WARNING **: GdkWindow 0x2c00028 unexpectedly
destroyed

Program received signal SIGINT, Interrupt.

Thread 16384 (LWP 14290)

  • #0 kill
    from /lib/libc.so.6
  • #1 pthread_kill
    from /lib/libpthread.so.0
  • #2 raise
    from /lib/libpthread.so.0
  • #3 rb_debug_stop_in_debugger
    at rb-debug.c line 141
  • #4 log_handler
    at rb-debug.c line 158
  • #5 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #6 g_log
    from /usr/lib/libglib-2.0.so.0
  • #7 gdk_window_destroy_notify
    from /usr/lib/libgdk-x11-2.0.so.0
  • #8 _gdk_x11_register_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #9 _gdk_events_queue
    from /usr/lib/libgdk-x11-2.0.so.0
  • #10 _gdk_events_queue
    from /usr/lib/libgdk-x11-2.0.so.0
  • #11 unblock_source
    from /usr/lib/libglib-2.0.so.0
  • #12 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #13 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #14 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #15 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #16 main
    at main.c line 160

Comment 6 Colin Walters 2003-10-02 03:01:56 UTC
*** Bug 123333 has been marked as a duplicate of this bug. ***
Comment 7 Allison Karlitskaya (desrt) 2003-10-02 13:21:34 UTC
there's also a small variation on this problem that should be
addressed:  if rhythmbox is in the session, it sometimes starts
=before= the panel does, and you get a similar problem.
Comment 8 Bastien Nocera 2003-10-13 09:59:09 UTC
*** Bug 124473 has been marked as a duplicate of this bug. ***
Comment 9 Olav Vitters 2003-11-02 02:02:11 UTC
*** Bug 124718 has been marked as a duplicate of this bug. ***
Comment 10 Sven Arvidsson 2003-11-03 23:50:08 UTC
*** Bug 124462 has been marked as a duplicate of this bug. ***
Comment 11 Bastien Nocera 2003-11-16 12:28:28 UTC
*** Bug 127099 has been marked as a duplicate of this bug. ***
Comment 12 Colin Walters 2003-11-18 07:36:41 UTC
*** Bug 124462 has been marked as a duplicate of this bug. ***
Comment 13 Bastien Nocera 2003-11-26 17:08:05 UTC
*** Bug 127997 has been marked as a duplicate of this bug. ***
Comment 14 Colin Walters 2003-12-26 17:20:13 UTC
*** Bug 130039 has been marked as a duplicate of this bug. ***
Comment 15 Colin Walters 2003-12-31 17:34:46 UTC
*** Bug 130277 has been marked as a duplicate of this bug. ***
Comment 16 Colin Walters 2004-01-04 19:50:35 UTC
*** Bug 130515 has been marked as a duplicate of this bug. ***
Comment 17 Colin Walters 2004-02-19 01:46:01 UTC
*** Bug 134765 has been marked as a duplicate of this bug. ***
Comment 18 Christophe Fergeau 2004-02-20 22:19:51 UTC
Walters: fwiw, the 
(rhythmbox:14290): Gdk-WARNING **: GdkWindow 0x2c00028 unexpectedly
destroyed
warning happens with the two apps (gnomeicu and gossip) using the
notification area I tested.
Comment 19 Colin Walters 2004-03-31 04:29:28 UTC
*** Bug 137171 has been marked as a duplicate of this bug. ***
Comment 20 Douglas McMorris 2004-04-14 22:57:58 UTC
gaim seems to handle this nicely... i'll look into this bug, inspect the gaim
system tray plugin and see what they're doing with notification area destruction.
Comment 21 Bastien Nocera 2004-05-01 16:01:05 UTC
Colin, I believe this patch is correct, and it doesn't create anymore warnings
than the other users of the icon tray would. In the worst case, a warning is
better than a crash...
Comment 22 Colin Walters 2004-05-01 20:58:01 UTC
Ok, I forgot there was a patch here, thanks for reminding me :)

* committed rhythmbox-devel@gnome.org--2004/rhythmbox--main--0.8--patch-50

We should try to figure out how to fix the warnings and get it to come back
after a restart though.
Comment 23 Sebastien Bacher 2004-10-14 23:03:51 UTC
still here with 0.8.8 on debian unstable
Comment 24 Loïc Minier 2004-10-14 23:04:54 UTC
(Actually Seb doesn't have the problem, I do, but I couldn't reopen the bug. 
Seb is in full 2.8 Gnome, and Debian has a mix-up of 2.6 of 2.8, mainly 2.6, and
the bug is still there.)

-- 
Loic Minier
Comment 25 Loïc Minier 2004-10-14 23:06:01 UTC
*** Bug 155297 has been marked as a duplicate of this bug. ***
Comment 26 Ilya Konstantinov 2004-10-15 14:19:27 UTC
Please add dependency on bug 155509.
Comment 27 Loïc Minier 2004-10-15 14:30:18 UTC
bug 155509 is a different problem, more general IMHO.  Here rhythmbox _exits_
when the NA is removed.

Regards,
-- 
Loic Minier
Comment 28 Loïc Minier 2004-11-13 15:23:41 UTC
With current 0.8.8 (Debian sid 0.8.8-1), you can remove the notification area
from the panel, but when you close rhythmbox, you get:

(rhythmbox:4442): GLib-GObject-WARNING **: invalid uninstantiatable type
`(null)' in cast to `GtkWidget'

(rhythmbox:4442): Gtk-CRITICAL **: file gtkwidget.c: line 2041
(gtk_widget_hide): assertion `GTK_IS_WIDGET (widget)' failed

(rhythmbox:4442): GLib-GObject-WARNING **: invalid uninstantiatable type
`(null)' in cast to `GtkWidget'

(rhythmbox:4442): Gtk-CRITICAL **: file gtkwidget.c: line 1911
(gtk_widget_destroy): assertion `GTK_IS_WIDGET (widget)' failed
Comment 29 Loïc Minier 2004-11-13 15:40:19 UTC
These are triggered by lines 700 and 708 of shell/rb-shell.c in rb_shell_finalize:
gtk_widget_hide (GTK_WIDGET (shell->priv->tray_icon));
...
gtk_widget_destroy (GTK_WIDGET (shell->priv->tray_icon));

I have no idea how one is supposed to listen to get the notification area
removal message.
Comment 30 Sebastien Bacher 2005-01-15 00:20:46 UTC
Loïc, do you still get the issue ? Seems to work fine here ...
Comment 31 Loïc Minier 2005-01-15 10:00:41 UTC
Indeed, everything works fine now.  Might it be a new panel version?

(Debian is now in full 2.8.)

I get some warnings though:
bee% rhythmbox 

(rhythmbox:5383): Gdk-WARNING **: GdkWindow 0x3a00021 unexpectedly destroyed

(rhythmbox:5383): Gdk-WARNING **: GdkWindow 0x3a0001f unexpectedly destroyed

(rhythmbox:5383): Gdk-WARNING **: GdkWindow 0x3a0001e unexpectedly destroyed

(rhythmbox:5383): Gdk-WARNING **: GdkWindow 0x3a0001c unexpectedly destroyed

(rhythmbox:5383): Gdk-CRITICAL **: file gdkevents-x11.c: line 2386
(gdk_x11_get_server_time): assertion `!GDK_WINDOW_DESTROYED (window)' failed
Comment 32 Sebastien Bacher 2005-01-15 11:49:10 UTC
Perhaps a panel issue yep. BTW since it doesn't crash I'm changing the severity
to minor and updating the summary.
Comment 33 Jonathan Matthew 2005-03-26 12:23:26 UTC
Created attachment 39277 [details] [review]
or something like this

I still see this from time to time (using current debian gnome 2.8).
Looks to me like the "destroy-event" notification is never received
(GTK documentation says "You rarely get this signal, because most widgets
disconnect themselves from their window before they destroy it, so no widget
owns the window at destroy time.") so I tried the GtkObject "destroy" signal
instead, which works for me.

This doesn't fix the GDK warnings, but it does clean up references to destroyed
objects, which are a great way to suffer random crashes at random points in the
future if you like that sort of thing.

Patch is against 0.9; doesn't apply cleanly to 0.8, but the merge is trivial.
Comment 34 Bastien Nocera 2005-06-11 12:00:06 UTC
We now only get warnings when the notification area applet crashes, not when
it's simply removed.

2005-06-06  Bastien Nocera  <hadess@hadess.net>

        * shell/rb-shell.c: (rb_shell_construct), (tray_destroy_cb):
        Patch by jonathan@kaolin.hn.org to avoid crashes when the
        notification area disappears (Closes: #172224, #172225)