Bugzilla – Bug 14241
Crashes while seeking in FLAC file; must restart Squeezebox Server
Last modified: 2009-10-13 14:44:40 UTC
While playing a flac file on a Boom being controlled by a Fab4, the Boom quit playing the track (some Enya track we've played millions of times). When I checked my SbS, it had completely stopped running. I had to restart it manually. Once I did, it was running again. Looking in the server log, here's what it says when it crashed: [09-09-23 17:37:26.0233] Slim::Utils::Firmware::downloadAsyncError (557) Warning: Firmware: Failed to download http://update.squeezenetwork.com/update/firmware/7.4.0/fab4_7.4.0_r7713.bin (404 Not Found), will try again in 640 minutes. [09-09-23 19:17:40.3642] Slim::Utils::Misc::msg (1160) Warning: [19:17:40.3625] Perl interpreter failed at /<C:\PROGRA~1\SQUEEZ~2\server\SQUEEZ~3.EXE>Slim/Formats/FLAC.pm line 888. [09-09-23 19:20:15.2348] main::init (320) Starting Squeezebox Server (v7.4.0, r28603, Tue Sep 22 16:33:44 PDT 2009) perl 5.010000 The line at 19:17 is the crash. The line above and below are just for context. Running Windows XP SP2 on my Lenovo S10e Netbook with 1GB RAM.
Mickey, what revision of SC. Andy, Could there be a problem with the latest rebuild of the Audio/Scan or Flac libraries for that platform?
Andy had also updated test.sn.com server at the same time this occurred. During that time, it was unavailable. Not sure if that's relevant. Revision v7.4.0, r28603 of SC
Eek, so it crashed when you were trying to seek in your FLAC file? Can you reproduce it? Try enabling player.source=INFO debug and seeking a lot of times. If it crashes again, get the debug lines right before it crashed, and also upload the file. Hopefully I will be able to reproduce it with that info. I'm not sure there is a suitable debug line showing what the seek value is though.
== Auto-comment from SVN commit #28625 to the slim repo by andy == == https://svn.slimdevices.com/slim?view=revision&revision=28625 == Bug 14241, additional debug line showing what call was made to findFrameBoundaries
I've added a debug line right before the seek call. Please use build 28625 or later when getting your log.
Was able to repro on Fab4 controlling Boom, but not on Jive or Boom front panel. On flac track, use Fab4 touchscreen to seek within track. Changing bug priority. Here's the trace requested: [09-09-24 15:14:32.2124] Slim::Display::Display::string (808) Error: missing string CBC [09-09-24 15:14:32.2133] Slim::Display::Display::string (808) Backtrace: frame 0: Slim::Utils::Log::logBacktrace (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Display/Display.pm line 808) frame 1: Slim::Display::Display::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Display/Boom.pm line 178) frame 2: Slim::Display::Boom::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Player/Player.pm line 186) frame 3: Slim::Player::Player::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 3328) frame 4: Slim::Control::Jive::_localizeMenuItemText (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 1978) frame 5: Slim::Control::Jive::_notifyJive (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 391) frame 6: Slim::Control::Jive::mainMenu (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/SqueezeNetwork/Players.pm line 151) frame 7: Slim::Networking::SqueezeNetwork::Players::_players_done (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/SimpleAsyncHTTP.pm line 358) frame 8: Slim::Networking::SimpleAsyncHTTP::onBody (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/Async/HTTP.pm line 474) frame 9: Slim::Networking::Async::HTTP::_http_read_body (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 133) frame 10: (eval) (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 119) frame 11: Slim::Networking::IO::Select::__ANON__ (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 177) frame 12: (eval) (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 177) frame 13: Slim::Networking::IO::Select::loop (slimserver.pl line 620) frame 14: main::idle (slimserver.pl line 574) frame 15: main::main (slimserver.pl line 98) frame 16: PerlSvc::Interactive (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>PerlSvc.pm line 99) frame 17: PerlSvc::_interactive (slimserver.pl line 0) frame 18: (eval) (slimserver.pl line 0) [09-09-24 15:25:15.8249] Slim::Utils::Misc::msg (1160) Warning: [15:25:15.8237] Perl interpreter failed at /<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Formats/FLAC.pm line 888. [09-09-24 15:32:16.8358] main::init (320) Starting Squeezebox Server (v7.4.0, r28625, Thu Sep 24 10:05:27 PDT 2009) perl 5.010000 [09-09-24 15:32:55.5406] Slim::Display::Display::string (808) Error: missing string BBC [09-09-24 15:32:55.5419] Slim::Display::Display::string (808) Backtrace: frame 0: Slim::Utils::Log::logBacktrace (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Display/Display.pm line 808) frame 1: Slim::Display::Display::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Display/Boom.pm line 178) frame 2: Slim::Display::Boom::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Player/Player.pm line 186) frame 3: Slim::Player::Player::string (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 3328) frame 4: Slim::Control::Jive::_localizeMenuItemText (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 1978) frame 5: Slim::Control::Jive::_notifyJive (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Control/Jive.pm line 391) frame 6: Slim::Control::Jive::mainMenu (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/SqueezeNetwork/Players.pm line 151) frame 7: Slim::Networking::SqueezeNetwork::Players::_players_done (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/SimpleAsyncHTTP.pm line 358) frame 8: Slim::Networking::SimpleAsyncHTTP::onBody (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/Async/HTTP.pm line 474) frame 9: Slim::Networking::Async::HTTP::_http_read_body (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 133) frame 10: (eval) (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 119) frame 11: Slim::Networking::IO::Select::__ANON__ (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 177) frame 12: (eval) (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>Slim/Networking/IO/Select.pm line 177) frame 13: Slim::Networking::IO::Select::loop (slimserver.pl line 620) frame 14: main::idle (slimserver.pl line 574) frame 15: main::main (slimserver.pl line 98) frame 16: PerlSvc::Interactive (/<C:\PROGRA~1\SQUEEZ~3\server\SQUEEZ~3.EXE>PerlSvc.pm line 99) frame 17: PerlSvc::_interactive (slimserver.pl line 0) frame 18: (eval) (slimserver.pl line 0) [09-09-24 15:32:55.5428] Slim::Display::Display::string (808) Error: missing string CBC
Thanks, did you have player.source set to INFO though? It doesn't look like there are any source messages there.
(In reply to comment #6) > Was able to repro on Fab4 controlling Boom, but not on Jive or Boom front > panel. On flac track, use Fab4 touchscreen to seek within track. I think that his is probably just luck. The mechanism is the same in all cases. What about when using the WebUI? > Changing bug priority. Probably ought to be 7.4.1 but not with top priority.
Created attachment 5971 [details] Failing FLAC file. Here's a player.info log of a short FLAC track that caused the problem. Note that I've reproduced the problem with different tracks. [09-10-01 13:13:19.5425] Slim::Player::Song::open (446) Opening stream (no direct streaming) using Slim::Player::Protocols::File [file:////EssexHouse/Music/FLAC/J.K.%20Rowling/Harry%20Potter%20and%20the%20Chamber%20of%20Secrets/001%20Introduction.flac] [09-10-01 13:13:19.5487] Slim::Player::Protocols::File::open (78) duration: [15.159] size: [698765] endian [] offset: [0] for file:////EssexHouse/Music/FLAC/J.K.%20Rowling/Harry%20Potter%20and%20the%20Chamber%20of%20Secrets/001%20Introduction.flac [09-10-01 13:13:19.5499] Slim::Player::Protocols::File::open (95) Opening file \\EssexHouse\Music\FLAC\J.K. Rowling\Harry Potter and the Chamber of Secrets\001 Introduction.flac [09-10-01 13:13:19.5553] Slim::Player::Protocols::File::_timeToOffset (284) seeking using Slim::Formats::FLAC findFrameBoundaries(92191, 2) What I did was to start the track playing then use forward and backward to reposition the track. Often it would fail after the first change in position, but it always failed within 4-5 attempts.
Great, thanks, I can reproduce it now. :)
== Auto-comment from SVN commit #437 to the opensource repo by andy == == https://svn.slimdevices.com/opensource?view=revision&revision=437 == Fixed bug 14241, fprintf was causing a crash on win32, this error is not useful so making it a debug message
Verified fixed in 7.4.1 r28825