Bug 17352 - Null item contained in empty playlist
: Null item contained in empty playlist
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: CLI
: 7.6.0
: PC Windows 7
: P2 normal with 2 votes (vote)
: 7.6.1
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-07-27 00:28 UTC by Joerg Schwieder
Modified: 2011-08-02 12:07 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
SBS server log file (421.10 KB, text/plain)
2011-07-27 06:53 UTC, Ron Olsen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joerg Schwieder 2011-07-27 00:28:04 UTC
Under certain conditions, an empty playlist in SBS 7.6 seems to contain a "<null>" item instead of nothing making iPeng and SqueezePad crash, I don't know about the Logitech iOS App but since it's not a native one it may not be affected, don't know what JavaScript does to this.

I have not been able to reproduce it myself (create the condition) but I've seen comments to the extend from several Windows users.
The incidence I've seen did have a completely empty playlist on a player, probably due to the full clear&rescan after the update.

The playlist sent to iPeng wasn't empty but contained one "<null>" item which gets interpreted as NSNull by the JSON parser.
Comment 1 Ron Olsen 2011-07-27 06:24:36 UTC
I have seen iPeng HD and SqueezePad crash on my iPad 2 (running iOS 4.3.3) with SBS 7.6.0 running on Fedora 14 (VortexBox) after deleting the cache (rm -rf /var/lib/squeezeboxserver/cache", and then doing a  "clear library and rescan everything" in SBS.

This causes the playlists for each player (2 Transporters, 2 Duet Receivers in my system) to become empty,and the iPeng HD and SqueezePad apps then crash on startup.  The Logitech Squeezebox app does not crash, but it could not display the current playlist for any player, even after a non-empty playlist was created for a player.

I suppose the iPeng, SqueezePad, and Squeezebox apps could be modified to deal with this, but I think the correct solution is to modify the SBS server code so bad data isn't sent to a controller when a player has an empty playlist.
Comment 2 Michael Herger 2011-07-27 06:29:45 UTC
Ron - thanks for the update. When this happened, did SBS log anything in server.log?
Comment 3 Ron Olsen 2011-07-27 06:53:38 UTC
Created attachment 7348 [details]
SBS server log file

Here is the server log file from my system.
Comment 4 Michael Herger 2011-07-27 07:14:33 UTC
Thanks, seeing this now on my system too.
Comment 5 SVN Bot 2011-07-27 07:28:48 UTC
 == Auto-comment from SVN commit #32915 to the slim repo by mherger ==
 == http://svn.slimdevices.com/slim?view=revision&revision=32915 ==

Bug: 17352
Description: don't process undefined track objects in status query, it would return invalid objects, causing crashes on iOS devices.
Comment 6 Michael Herger 2011-07-27 07:40:09 UTC
This issue happened if a player was triggering a status query while the initial scan was still going on, and there was a stored playlist for one of the players, but the referenced track didn't exist yet in the DB.
Comment 7 SVN Bot 2011-07-27 07:43:33 UTC
 == Auto-comment from SVN commit #32918 to the slim repo by mherger ==
 == http://svn.slimdevices.com/slim?view=revision&revision=32918 ==

Bug: 17352
Description: update changelog and comment with latest findings
Comment 8 Stefan Hansel 2011-07-27 09:07:00 UTC
Michael - thanks for this very fast fix!