Rhythmbox does not handle a sudden/unexpected dissappearance of pulse server properly

Bug #258032 reported by Trygve Vea
2
Affects Status Importance Assigned to Milestone
rhythmbox (Ubuntu)
New
Low
Ubuntu Desktop Bugs

Bug Description

Binary package hint: rhythmbox

If you play music and the pulse audio-servers get killed or disappears in an unexpected way, rhythmbox freezes.

1) Description: Ubuntu 8.04.1, Release: 8.04

2) ~$ apt-cache policy rhythmbox
rhythmbox:
  Installed: 0.11.5-0ubuntu8
  Candidate: 0.11.5-0ubuntu8
  Version table:
 *** 0.11.5-0ubuntu8 0
        500 http://no.archive.ubuntu.com hardy-updates/main Packages
        100 /var/lib/dpkg/status
     0.11.5-0ubuntu6 0
        500 http://no.archive.ubuntu.com hardy/main Packages

3) Player displays an error message. After the error message has been acknowledged by the user, the player should quit or make an attempt to connect to alsa in stead of pulseaudio.

4) The application freezes. If you run rhythmbox with the -d parameter, you will see the following messages in the terminal:

(20:06:16) [0x80dc408] [rb_shell_player_error] rb-shell-player.c:3031: playback error while playing: Disconnected: Connection terminated
(20:06:16) [0x80dc408] [error_cb] rb-shell-player.c:3184: exiting error hander

Reproduction steps:

a) Start rhythmbox (preferebly from a terminal with -d as parameters, for the extra debug information)
b) Play a jolly tune
c) Kill all "pulse"-processes running as your user
d) The application should now be in the state described at point 4)

Regards, Trygve

Revision history for this message
Sebastien Bacher (seb128) wrote :

thank you for your bug report, it's not really clear that rhythmbox is buggy there, the sound server be running, did you open a bug about it crashing if that's why it's not running?

Changed in rhythmbox:
assignee: nobody → desktop-bugs
importance: Undecided → Low
Revision history for this message
Trygve Vea (trygve-vea-gmail) wrote :

I believe you misread my report.

Rhythmbox's code clearly gets notified that its connection to pulse has been terminated. This is very easy to provoke if you follow my steps.

The error-handler-function of rhythmbox prints out the message - but it doesn't handle it, because there is no code which handles this error message.

I haven't opened a bug about it crashing, but about it freezing --- I discovered this while pulse-audio stopped functioning on my workstation, and I had to kill my pulse-processes "anything" work (several applications was frozen)... Most applications behaved normally after the kill, but what I noticed is that rhythmbox was one out of two applications which didn't handle the (unexpected) kill properly. (On a side note: the other one is pidgin, which already had a bug filed for it - Bug 238963 --- the behaviour isn't identical, as rhythmbox only freezes --- it does not consume 100% cpu)

I'm quite confident that this bug is fixable by adding a few lines to the error handling function (rb_shell_player_error) in shell/rb-shell-player.c ... If I could manage to get rhythmbox to compile properly in the first place, I would have submitted a patch.

Revision history for this message
Sebastien Bacher (seb128) wrote :

what issue do you have building rhythmbox? note that you can open upstream bugs directly to bugzilla.gnome.org if you know what you are doing so a bug submitter doesn't have to forward the bug and comments between bug tracker for you

Revision history for this message
Sebastien Bacher (seb128) wrote :

"a bug triager" doesn't have to forward the bug

Revision history for this message
Sebastien Bacher (seb128) wrote :

the issue is similar to bug #244324

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.