GNOME Bugzilla – Bug 322114
DAAP connection is flaky and locks up after several tracks
Last modified: 2006-01-06 03:37:44 UTC
Please describe the problem: I can connect to a DAAP source, play around 5-8 tracks, then it will mysteriously stop and upon clicking each track a "stop" logo is produced and no track from the DAAP source can be played and several warnings will appear on the terminal. Occasionally disconnecting and reconnecting to the DAAP source will be a workaround, but all context (e.g. last song selected, last playlist selected) is lost. There is nothing obviously different happening at the DAAP server end, which is running iTunes 4.5. Steps to reproduce: 1. gdb rhythmbox 2. (gdb) run 3. Open DAAP source 4. Open a remote DAAP playlist 5. Let play for several tracks in order Actual results: Tracks do not play, and upon selecting new tracks warnings like the below appear on the terminal. (rhythmbox:15484): Rhythmbox-WARNING **: eos_cb: Unhandled error: Could not determine type of stream. [New Thread -1221973072 (LWP 15928)] [Thread -1221973072 (LWP 15928) exited] playback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8373.mp3?session-id=1059980798", you might need to install the corresponding pluginsplayback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8372.mp3?session-id=1059980798", you might need to install the corresponding pluginsplayback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8373.mp3?session-id=1059980798", you might need to install the corresponding pluginsplayback error: Could not determine type of stream. (rhythmbox:15484): Rhythmbox-WARNING **: do_next_idle: Unhandled error: Could not determine type of stream. playback error: Could not determine type of stream. (rhythmbox:15484): Rhythmbox-WARNING **: do_next_idle: Unhandled error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/191.mp3?session-id=1059980798", you might need to install the corresponding plugins playback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8375.mp3?session-id=1059980798", you might need to install the corresponding pluginsplayback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8374.mp3?session-id=1059980798", you might need to install the corresponding pluginsplayback error: There were no decoders found to handle the stream in file "daap://192.168.0.4:3689/databases/34/items/8373.mp3?session-id=1059980798", you might need to install the corresponding plugins Expected results: If the connection is interrupted should present a warning and/or automatically reconnect, and start playing the song. Does this happen every time? Yes, the number of tracks played before the problem manifests itself varies but I've never been able to leave it running for longer than 40 mins or so before the connection drops. Other information: I'm using howl-0.9.8-3 (Fedora Core 4)
When this happens, the error is triggered in the mad decoder: "layer3.c:2633: mad_layer_III: Assertion `stream->md_len + md_len - si.main_data_begin <= (511 + 2048 + 8)' failed." This is with RB->RB and the original report is iTunes->RB, so I'm guessing that our daap client is somehow corrupting the stream.
When playing mp3s with daap I get some audio glitches consistant with that of a corrupted stream. I guess if the corruption hits one of the headers it makes the track unplayable. I haven't figured out what is causing it though.
Reassigning to correct component (DAAP).
DAAP stability seems to have come a long way in current CVS HEAD. Continuous play of DAAP streams is working, I have been able to play continuous selection of tracks for > 90 minutes. (Although I did upgrade to iTunes 6, so it could have been an improvement at the server end.) Closing bug, will re-open if there are more problems.