Bugzilla – Bug 13995
unhandled pointer error inside Format::readTags results in scanner hang
Last modified: 2009-10-05 14:29:58 UTC
despite being inside an eval, a condition still exists where a call in readTags can result in a hung scanner. the use statement being evaluated is not enough to determine an error will not continue to occur. this may be fixed with the following patch: *** /Users/dan/slimdev/slim/7.4/trunk/server/Slim/Formats.pm 2009-09-09 20:18:47.000000000 -0700 --- /Library/PreferencePanes/Squeezebox.prefPane/Contents/server/Slim/Formats.pm 2009-09-11 19:05:40.000000000 -0700 *************** *** 165,171 **** if (my $tagReaderClass = $class->classForFormat($type)) { if ( !$loadedTagClasses{$type} ) { eval "use $tagReaderClass"; ! if ( $@ ) { logError("Unable to load $tagReaderClass: $@"); return {}; } --- 165,171 ---- if (my $tagReaderClass = $class->classForFormat($type)) { if ( !$loadedTagClasses{$type} ) { eval "use $tagReaderClass"; ! if ( $@ || !$loadedTagClasses{$type}) { logError("Unable to load $tagReaderClass: $@"); return {}; } test on the attached mp3, which will cause a repeatable failure.
Created attachment 5836 [details] file causing scanner to idle indefinitely
Created attachment 5837 [details] proposed patch
Andy: your thoughts on this? is the patch OK to check in
Thanks for the file, that reveals a bug in Audio::Scan's average bitrate calculation. Your patch doesn't solve the problem, that would just avoid loading any tag scanners. I'll work on the Audio::Scan issue.
== Auto-comment from SVN commit #423 to the opensource repo by andy == == https://svn.slimdevices.com/opensource?view=revision&revision=423 == Fixed bug 13995, fixed divide by zero error when trying to detect MP3 average bitrate on a file with no valid frames
BTW that is one seriously corrupted MP3 file. A good test though. :)
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.