Bug 15883 - Now playing displays wrong info after Tiny SC favorites selection
: Now playing displays wrong info after Tiny SC favorites selection
Status: VERIFIED FIXED
Product: SB Touch
Classification: Unclassified
Component: Now Playing
: 7.5.0
: PC Windows XP
: P2 normal (vote)
: 7.5.0
Assigned To: Alan Young
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-03-11 16:56 UTC by Ryan
Modified: 2010-03-22 11:34 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan 2010-03-11 16:56:53 UTC
Create favorites from MSB.com source (internet radio ) and from TinySc SD card source.

Select a MSB.com favorite, then switch to a favorite from tiny SC and the now playing screen remains that of the MSB.com favorite while playing the Tiny SC audio content.
Comment 1 Chris Owens 2010-03-15 09:38:51 UTC
Alan says he can reproduce this.
Comment 2 Ben Klaas 2010-03-15 12:41:08 UTC
I'm finding it nearly (but not quite) impossible to reproduce this. I've seen it exactly once in about 30 or 40 tries, and unfortunately didn't get good debug in that instance.

Currently I have 3 players synced and connected to tinySC. I'm switching back and forth between a mysb.com favorite and a local favorite and aside from the one event, the NP screen is updating correctly.

I have seen situations where switching to a local favorite will take a seemingly impossibly long time to start audio, even when switching from one local track to a local favorite...15+ seconds sometimes. But when it does eventually play, the NP screen updates accordingly.
Comment 3 Ben Klaas 2010-03-15 12:46:22 UTC
Alan, if you can reliably reproduce this, can you turn on squeezeplay.player logging to DEBUG and try again? I want to know if the issue is it not getting the playerstatus message or processing it wrongly.

You pasted some error logs in campfire on 15 March (pasted below as well)-- the stack trace errors you see there I've not seen even once, even in the one case where I reproduced this issue. Though I should say that the error from NowPlaying identifies an improperly dereferenced Lua table. Not sure what's going on with the Player.lua error...


Mar 15 18:26:03 squeezeplay: ERROR  net.http - RequestHttp.lua:67 Response sink:...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: attempt to index local '_track' (a userdata value)
Mar 15 18:26:03 squeezeplay: stack traceback:
Mar 15 18:26:03 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: in function '_extractTrackInfo'
Mar 15 18:26:03 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1618: in function 'showNowPlaying'
Mar 15 18:26:03 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1461: in function <...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1450>
Mar 15 18:26:03 squeezeplay: 	(tail call): ?
Mar 15 18:26:03 squeezeplay: 	...sha
Mar 15 18:26:04 squeezeplay: DEBUG  squeezebox.player - Player.lua:231 stored playlist timestamp: nil
Mar 15 18:26:04 squeezeplay: DEBUG  squeezebox.player - Player.lua:232    new playlist timestamp: 1268673963.747
Mar 15 18:26:04 squeezeplay: DEBUG  squeezebox.player - Player.lua:1180 Player:_process_playerstatus()
Mar 15 18:26:04 squeezeplay: DEBUG  squeezebox.player - Player.lua:382 LocalPlayer {Squeezebox Touch 1}@SlimServer {Squeezebox Touch 1 (SD)}:updatePlayerInfo connected=1
Mar 15 18:26:04 squeezeplay: DEBUG  squeezebox.player - Player.lua:476 oldInfo.connected says: true self.info.connected says: true
Mar 15 18:26:04 squeezeplay: ERROR  net.http - RequestHttp.lua:67 Response sink:/usr/share/jive/jive/slim/Player.lua:271: attempt to index field '?' (a userdata value)
Mar 15 18:26:04 squeezeplay: stack traceback:
Mar 15 18:26:04 squeezeplay: 	/usr/share/jive/jive/slim/Player.lua:271: in function '_whatsPlaying'
Mar 15 18:26:04 squeezeplay: 	/usr/share/jive/jive/slim/Player.lua:1230: in function '?'
Mar 15 18:26:04 squeezeplay: 	/usr/share/jive/jive/slim/Player.lua:235: in function 'func'
Mar 15 18:26:04 squeezeplay: 	/usr/share/jive/jive/net/Comet.lua:943: in function '_response'
Mar 15 18:26:04 squeezeplay: 	/usr/share/jive/jive/net/Comet.lua:810: in function </usr/share/jive/jive/net/Comet.lua:801>/usr/share/jive/jive/s
Mar 15 18:26:12 squeezeplay: WARN   squeezeplay.ui.draw - jiveL_dispatch_event:789 error in event function:
Mar 15 18:26:12 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: attempt to index local '_track' (a userdata value)
Mar 15 18:26:12 squeezeplay: stack traceback:
Mar 15 18:26:12 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: in function '_extractTrackInfo'
Mar 15 18:26:12 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1618: in function 'showNowPlaying'
Mar 15 18:26:12 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1461: in function <...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1450>
Mar 15 18:26:12 squeezeplay: 	(tai
Mar 15 18:26:14 squeezeplay: WARN   squeezeplay.ui.draw - jiveL_dispatch_event:789 error in event function:
Mar 15 18:26:14 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: attempt to index local '_track' (a userdata value)
Mar 15 18:26:14 squeezeplay: stack traceback:
Mar 15 18:26:14 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1678: in function '_extractTrackInfo'
Mar 15 18:26:14 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1618: in function 'showNowPlaying'
Mar 15 18:26:14 squeezeplay: 	...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1461: in function <...r/share/jive/applets/NowPlaying/NowPlayingApplet.lua:1450>
Mar 15 18:26:14 squeezeplay: 	(tai
Comment 4 Alan Young 2010-03-16 06:27:08 UTC
The relevant track entries are being returned as undef in playerstatus. This is because, somehow, the relevant contributor_track row(s) are being deleted and this causes Slim::Control::Queries::_getTagDataForTracks() to fail to find data for the track because of the dependent joins.
Comment 5 SVN Bot 2010-03-16 07:27:57 UTC
 == Auto-comment from SVN commit #30380 to the slim repo by ayoung ==
 == https://svn.slimdevices.com/slim?view=revision&revision=30380 ==

fixed bug 15883: Now playing displays wrong info after Tiny SC favorites selection 
Do not allow setRemoteMetadata to screw up DB records for local tracks.
Comment 6 SVN Bot 2010-03-16 07:46:01 UTC
 == Auto-comment from SVN commit #30381 to the slim repo by ayoung ==
 == https://svn.slimdevices.com/slim?view=revision&revision=30381 ==

bug 15883: Now playing displays wrong info after Tiny SC favorites selection 
Fix underlying problem with replacing a Track's set of contributor records with
an empty set when just doing an attributes update.
Comment 7 SVN Bot 2010-03-16 08:16:27 UTC
 == Auto-comment from SVN commit #30382 to the slim repo by ayoung ==
 == https://svn.slimdevices.com/slim?view=revision&revision=30382 ==

bug 15883: Now playing displays wrong info after Tiny SC favorites selection 
Change warning to debug log.
Comment 8 Ryan 2010-03-22 11:34:39 UTC
fw 8661

Switching back and forth between favorites local TinySC and MSB.com and the now playing data is now properly updating to the selected source.