Bugzilla – Bug 10313
SqueezePlay crashes at song change in Ubuntu 8.04
Last modified: 2009-10-05 14:37:12 UTC
See my tread http://forums.slimdevices.com/showthread.php?t=56313 I have a bug i can reproduce SqueezePlay crashes just about when it's time to get the next song. It's very repeatable it is every song ! If i skip to next song manually before it ends everything is ok. If SP wants to advance to next tune by it's own it freezez and i have to: killall -9 jive This is when i play files on my Desktop machine, if I use it as remote for the other players no problem at all I've got SP installed on Ubuntu 8.04 The server is not this machine, it a server on my network ( CC4.2 ) I tried another thing i made a sync group of all my players it was fantastic :) SP died of at end of first track, everyone else was playing fine. Then i restarted SP when everything else was playing that killed the SqueezeCenter ? I built both 7.3 r3526 and 7.3 r3528 where is the log files for SP on linux ? I've found /var/log ? is one of these ? The other build shave stdout something ? Is there any particular log i should turn on in SC to capture this
What file format is your music in? Also what operating system are you running SqueezePlay on?
Sorry for being unclear squeezeplay is running on my ubuntu8.04 desktop. I'm using flac files Squeezecenter is running on another machine. both machines are wired to my router, fixed ip's Btw i'm not able to use password on SC either, if it is related ? SqueezeCenter during crash was release of 7.3 uppgraded to latest 7.3.1 same symptoms
Not as reproducable as Mikael’s crashes, but happens also with SqueezePlay 7.3r0 running against SC 7.3-24282 on a Win/XP machine, mostly after playing several (5-7) MP3 files. Seems worse when Crossfade is enabled.
Tried with mp3 file now, same result They always crash when it is couple of seconds left of the tune ? I don't know how your buffering is working but it seems like it is reasonable to speculate that it is trying to buffer the next tune ?
Created attachment 4437 [details] gdb output running squeezeplay
Created attachment 4438 [details] zip off the gdb file r3528_1
Hello I discovered that there is a thing called gdb GNU debuger (n00b). I captured a session with it, without any special options selected I attach file's with complete gdb output, however the interesting part is the end of the session: 083433:185529 INFO (Playback.lua:292) - disconnect streambuf src/audio/decode/decode_flac.c:178 DEBUG FLAC error: FLAC__STREAM_DECODER_END_OF_STREAM 083502:214708 INFO (Playback.lua:160) - status DECODE UNDERRUN src/audio/decode/decode.c:538 DEBUG decode_sond_ended src/audio/decode/decode.c:285 DEBUG handling message src/audio/decode/decode.c:248 DEBUG decode_song_ended_handler 083502:214750 INFO (Playback.lua:364) - strm s src/audio/decode/decode.c:491 DEBUG decode_start src/audio/streambuf.c:380 DEBUG streambuf connect 192.168.1.5:10275 083502:214750 INFO (Playback.lua:275) - connect streambuf src/audio/decode/decode.c:285 DEBUG handling message src/audio/decode/decode.c:221 DEBUG decode_start_handler decoder=66 num_params=4 src/audio/decode/decode_flac.c:201 DEBUG decode_flac_start() src/audio/decode/decode_output.c:559 DEBUG Track gain 65536 src/audio/decode/decode_output.c:563 DEBUG Track clip range 7fffffff 80000000 src/audio/decode/decode_output.c:568 DEBUG Polarity inversion 0 src/audio/decode/decode_portaudio.c:201 DEBUG decode_portaudio_start [Thread 0xb7b08b90 (LWP 7649) exited] src/audio/decode/decode_portaudio.c:251 DEBUG Stream latency 0.034830 src/audio/decode/decode_portaudio.c:252 DEBUG Sample rate 44100.000000 [New Thread 0xb7b08b90 (LWP 7650)]
Great, I was going to ask you to get a gdb trace :). When the application crashes can you get a backtrace (by typing 'bt' at the gdb prompt), and post the output here. Thanks.
Having trouble where should i put the 'bt' ? If i just type bt and enter after the crash, nothing happens ?
How are you running gdb? You should be doing something like: gdb ./jive -- to start the session run -- to start the program at the gdb> prompt bt -- to get the backtrace, at the gdb> prompt Do you not get a gdb prompt after the crash?
It's a blinking black square at the end ? promt i assume ? if i put bt there and enter nothing happens ?
No from memory the prompt is 'gdb>'. What happens if you press Ctrl-C?
aha the promt should look like (gdb) ? i don't have that
ctrl c gave me the prompt wait I'll send file soon..
Hmm, it's not crashed then. What symptoms do you see that you describe as a crash? Is the UI still working, just the music stops?
Created attachment 4439 [details] gdb_jive_Mnyb_73r3528_2 This file is with backtrace
Created attachment 4440 [details] zip off gdb_jive_Mnyb_73r3528_2 Maybe unnecessary to zip they are small
It's not obvious from that backtrace what's gone wrong. It may be that the final audio thread has died, but in that case I'm not sure why gdb did not catch the error in a more useful way. I'll need to look at this more when I'm working, not over breakfast! Does the UI work, just the music stops? Do you have crossfade and/or reply gain enabled? Also do you know if you have portaudio installed on your PC?
Symptoms is that SqueezePlay freezes, the nowplaying window freezes. Progress bar and timers stops a little bit before end of track. Playback ends. I can not navigate SqueezePlay anymore, i can not end SqueezePlay either. Not by clicking at the rigth corner of the window anyway. Have to kill it. Another strange thing if i pull up the web UI and locks at the player when this happens, it counts the track beyond it's original time ? probably thinking it's on the next one ? If i refresh the browser or choose another player, the "squeezeplay" player is gone from my list of players. But if i manage to keep "squeezeplay" in the web UI while crashed. I can on rare occasions get this in squeezecenters log: [08-12-14 10:20:43.5526] Slim::Web::JSONRPC::requestMethod (383) request not dispatchable! In short, the Sqeezeplay just sits there and are unresponsive. It might not technically be crashed maybe it's waiting for something that never happens ad infinitum. I'll catch one debug while manually progressing the tracks, it works if I as choose the next track before it ends.
O forgot, info, No crossfade No replay gain. What is portaudio ?
Created attachment 4441 [details] gdb_jive_Mnyb_73r3528_3 no crash gdb when manually advancing tracks and stop and quit normally
now i tried with crossfade on, no difference rgrds portaudio, looks like some kind of dev tool to me ? should i install that as end user ? Can it help you track the problem ?
The following portaudio packages are installed on my PC: libportaudio0 libportaudio2 These packages are NOT installed: libportaudiocpp0 libportaudio-dev libportaudio-doc libportaudio-ocaml libportaudio-ocaml-dev portaudio19-dev portaudio19-doc Should I install some of it and build a new SqueezePlay ?
added libportaudiocpp0 to my machine built r3529 no difference
Ok i did this: I also installed libportaudio-doc libportaudio-ocaml libportaudio-ocaml-dev portaudio19-dev portaudio19-doc and all recomended dependencies with the help of synaptics. got rid of all old files and did some house keeping. (after an embarrassing accident with building jive as sudo ) Then fetched everything from svn again. Then i built a new squeezeplay this one is working ! great. the gdb looks quite different now a lot more stuff going on, a bunch of errors to but it's still working, and not freezing. Thank you so very much for helping me on a Sunday. But what to do now ? i've got a very plain vanilla ubuntu desktop 8.04 (uppgraded from 7.10 ) i don't think I'm alone. I was following the readme file included in the svn, but apparently it don't list all things needed to build. A patch would be to update the wiki and the README.linux file. Better still a real deb package when the non beta version is released. Thanks again for pointing me in the right direction with portaudio. I'm lucky that it was available via Ubuntu's/Debian repos. looked a little bit scary to build from svn.
Created attachment 4443 [details] gdb_jive_Mnyb_73r3528_4 working build This a gdb from good session when it works
Changing target to next release
Hi I want to emphasize that it is working. The "bug" is solved. The issue really is that my ubuntu 8.04 machine neded a lot more "other" stuff installed, than outlined in the install instructions or wiki. So the "bug" fix would be better build instructions or packaging as deb and rpm I assume this way all dependencies could be taken care of ? So i'ts unclear to me what this is (besides n00b end user ). Documentation ? unfinished product (no deb or rpm) ? Technically it is not a bug, it is just very very very hard for anyone without intimate knowledge of the code to make it work :) And it will swamp you with support calls from other user with similar installs. If not dealt with in some way. Btw thanks for Squeezeplay anyway (listening just now).
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.