The mysterious case of the missing Squeezebox artwork
It was only a few weeks ago that I was blogging about Squeezebox Server and its many incarnations. It's testament to the longevity and enduring appeal of the software that I received several emails from Squeezebox enthusiasts in response.
Just a few days after that blog post, however, I experienced an annoyance that lead me to question my own faith in the venerable music server. Album artwork started disappearing! I tolerated this for a few days, thinking it might be temporary, but when other images in the Squeezebox Web UI started disappearing too I knew something was wrong.
Besides, it wouldn't look too good if the programmer for an album artwork finder can't even have his own artwork shown in his music player, would it?
After a few basic checks (do we still have disk space on the server?) I dipped into the log files. In Linux they are located in
/var/log/squeezeboxserver. The log file I chose to look in was
server.log (and its sibling files with timestamp suffixes).
These messages stood out immediately:
[14-05-01 09:51:07.0384] Slim::Web::Graphics::__ANON__ (358) Artwork resize for music/44f47af3/cover_50x50_o failed [14-05-01 09:51:07.0863] Slim::Web::Graphics::__ANON__ (358) Artwork resize for music/58242bb9/cover_50x50_o failed [14-05-01 09:51:07.1650] Slim::Web::Graphics::__ANON__ (358) Artwork resize for music/d5b7a241/cover_50x50_o failed [14-05-01 09:51:07.2842] Slim::Web::Graphics::__ANON__ (358) Artwork resize for music/52b39345/cover_50x50_o failed [14-05-01 09:51:07.3853] Slim::Web::Graphics::__ANON__ (358) Artwork resize for music/75125ddf/cover_50x50_o failed
Hmmm. Well if there is enough disk space, why was the resize failing? I hadn't changed the software on that machine. I scrolled back to the beginning of the log file and found this:
[14-04-29 12:04:28.6555] Slim::Networking::IO::Select::__ANON__ (147) Error: Select task failed calling Slim::Web::HTTP::processHTTP: DBD::SQLite::st execute failed: database disk image is malformed at /usr/lib/perl5/vendor_perl/Slim/Utils/DbCache.pm line 93. ; fh=Slim::Web::HTTP::ClientConn=GLOB(0xd338458)
database disk image is malformed" does not sound healthy.
I looked this up and found a helpful thread on the Squeezebox forums. It suggested deleting the artwork cache. In my case, on Linux, that's in
/var/lib/squeezeboxserver/cache/. On Windows it's in
C:\Documents and Settings\All Users\Application Data\Squeezebox\Cache\ (XP) or
C:\ProgramData\Squeezebox\Cache (Windows 7 and later).
So I did:
service squeezeboxserver stop rm -rf /var/lib/squeezeboxserver/cache/artwork.* service squeezeboxserver start
In my case "
/var/lib/squeezeboxserver/cache/artwork.*" was just an artwork.db file). I then visited the Squeezebox server Web interface once more and... voilà!
... and in case you were wondering... yes, my wife has been adding music.
Thanks to markhillary for the image above.