GNOME Bugzilla – Bug 588486
Crash with ASF stream when connection interrupted
Last modified: 2009-07-14 13:11:32 UTC
This bug report originated from Ubuntu's Launchpad bug tracker here: https://bugs.launchpad.net/rhythmbox/+bug/397028 and affects at least rhythmbox 0.12 and rhythmbox 0.11.6. The launchpad page has more details, but basically this streaming radio URL: mmsh://220.247.227.6/live?MSWMExt=.asf has been causing reproducible lockups of rhythmbox. The original poster noticed this problem only during problems with his internet connection, but I noticed the problem immediately upon attempting to play this stream at the time. I tried the same URL again recently, and was able to play the stream fine, so I suspected the hanging might occur only when the streaming server is having problems, or when one's own internet connection goes down. To test this idea, I cut off my own internet connection in the middle of playing this stream. The music stopped, and 'top' showed rhythmbox using 100% of CPU. I attempted to un-press the play button, and the entire rhythmbox UI froze (i.e. the rb screen doesn't refresh itself anymore). I then had no choice but to forcibly kill rhythmbox. I ran the test again (I'm using rb 0.11.6) with the --debug option enabled. The stream played fine until I cut off the internet connection, and attempted to play a new song, at which point my debug output hung at the last line ("... [playing_source_changed_cb] rb-iradio-source.c:1187: disconnecting info-available signal handler"), and the player was frozen and I had to forcibly kill it again. Let me know if I should provide more details or help reproducing this bug. The tail end of rb's debug output is at bottom: (17:31:37) [0x9138408] [tick_cb] rb-shell-player.c:3613: tick: [mmsh://220.247.227.6/live?MSWMExt=.asf, 18:0(0)] (17:31:37) [0x9138408] [tick_cb] rb-shell-player.c:3613: tick: [mmsh://220.247.227.6/live?MSWMExt=.asf, 18:0(0)] (17:31:37) [0x9138408] [tick_cb] rb-shell-player.c:3613: tick: [mmsh://220.247.227.6/live?MSWMExt=.asf, 18:0(0)] (17:31:37) [0x9138408] [rb_shell_clipboard_entryview_changed_cb] rb-shell-clipboard.c:787: entryview changed (17:31:37) [0x9138408] [rb_shell_clipboard_sync] rb-shell-clipboard.c:585: syncing clipboard (17:31:38) [0x9138408] [rb_entry_view_row_activated_cb] rb-entry-view.c:2070: row activated (17:31:38) [0x9138408] [rb_entry_view_row_activated_cb] rb-entry-view.c:2074: emitting entry activated (17:31:38) [0x9138408] [rb_shell_player_entry_activated_cb] rb-shell-player.c:2701: got entry 0xb4015070 activated (17:31:38) [0x9138408] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:3120: setting playing source to 0x981d8e0 (17:31:38) [0x9138408] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:3143: source is already playing, stopping it (17:31:38) [0x9138408] [rb_shell_player_sync_with_source] rb-shell-player.c:2936: playing source: 0x981d8e0, active entry: (nil) (17:31:38) [0x9138408] [rb_shell_set_window_title] rb-shell.c:2141: clearing title (17:31:38) [0x9138408] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:3385: Did not get playing entry : return -1 as length (17:31:38) [0x9138408] [show_controls] rb-visualizer-plugin.c:846: showing controls (17:31:38) [0x9138408] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:3385: Did not get playing entry : return -1 as length (17:31:38) [0x9138408] [rb_header_sync] rb-header.c:452: syncing with entry = <null> (17:31:38) [0x9138408] [rb_header_sync] rb-header.c:528: not playing (17:31:38) [0x9138408] [rb_shell_player_sync_buttons] rb-shell-player.c:3039: syncing with source 0x981d8e0 (17:31:38) [0x9138408] [rb_shell_playing_source_changed_cb] rb-shell.c:1951: playing source changed (17:31:38) [0x9138408] [playing_source_changed_cb] rb-iradio-source.c:1187: disconnecting info-available signal handler
Thanks for taking the time to report this bug. Without a stack trace from the crash it's very hard to determine what caused it. Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Created attachment 138392 [details] stack trace of rhythmbox hang
Hi Jonathan, I installed the rhythmbox-dbg package for Ubuntu 8.10 to obtain this stack trace. Since Bug Buddy wasn't popping up for me (since I was using 'kill' to terminate the frozen program, instead of having it die on its own), I obtained this stack trace from gdb (I had gdb attach to the running rb instance). Steps I took: 1. played a song normally 2. played the ASF stream normally 3. turned off internet 4. clicked on a playlist to find another song 5. attempted to play another song 6. rhythmbox UI froze entirely, new song did not play 7. killed rhythmbox from terminal Attached (in previous comment) are the last lines I saw from gdb. Let me know if I should install any further -dbg packages and re-run. Josh
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of 403122 ***