Bugzilla – Bug 1169
Playing items using player Browse Artist menu/remote doesn't work when TSOP (sort order performer tag) is different from ID3 artist name
Last modified: 2008-12-15 11:57:20 UTC
Playing items using player's Browse Artist menu doesn't work -- no error message (tried all sorts of logging). Revision 2688. This happens on SliMP3 and SoftSqueeze. Playing items through Browse Album menu works fine, as do various other ways to play items. Web interface is fine.
There may be some database corruption -- I'm rebuilding the database and will add info. It does seem to be limited to certain artists -- not able to figure out what makes certain artists not work.
OK this is the stack trace I get when I try to play, unsuccessfully. 2005-03-23 09:26:25.9283 Executing command 00:04:20:04:1a:3e: button (play_0) (2754.728392) (1) () () () () 2005-03-23 09:26:25.9290 irCode not defined: play_0 2005-03-23 09:26:25.9296 trying to execute button: play_0 2005-03-23 09:26:25.9303 executing button: play_0 2005-03-23 09:26:25.9320 Generated findKey: [contributor:contributor:The Arcade Fire::::] 2005-03-23 09:26:25.9328 Used previous results for findKey: [contributor:contributor:The Arcade Fire::::] 2005-03-23 09:26:25.9374 settimer: CODE(0x948ce9c), now: 1111591585.93729, time: 1111591586.93727 2005-03-23 09:26:25.9386 artist The Arcade Fire 2005-03-23 09:26:25.9400 Executing command 00:04:20:04:1a:3e: playlist (loadalbum) (*) (The Arcade Fire) (*) () () () 2005-03-23 09:26:25.9418 Generated findKey: [lightweighttrack:contributor.name:ARCADE FIRE:track:::] 2005-03-23 09:26:25.9430 Start and End node: [contributor:default] 2005-03-23 09:26:25.9446 Backtrace: frame 0: Slim::DataStores::DBI::DataModel::find (/home/tsandee/slimserver_svn/trunk/server/Slim/DataStores/DBI/DBIStore.pm line 233) frame 1: Slim::DataStores::DBI::DBIStore::find (/home/tsandee/slimserver_svn/trunk/server/Slim/Control/Command.pm line 769) frame 2: Slim::Control::Command::execute (/home/tsandee/slimserver_svn/trunk/server/Slim/Buttons/BrowseID3.pm line 356) frame 3: Slim::Buttons::BrowseID3::__ANON__ (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 616) frame 4: Slim::Hardware::IR::executeButton (/home/tsandee/slimserver_svn/trunk/server/Slim/Control/Command.pm line 566) frame 5: Slim::Control::Command::execute (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 640) frame 6: Slim::Hardware::IR::processCode (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 499) frame 7: Slim::Hardware::IR::releaseCode (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 394) frame 8: Slim::Hardware::IR::checkRelease (/home/tsandee/slimserver_svn/trunk/server/Slim/Utils/Timers.pm line 62) frame 9: Slim::Utils::Timers::checkTimers (/usr/local/src/slimserver/slimserver.pl line 611) frame 10: main::idle (/usr/local/src/slimserver/slimserver.pl line 549) frame 11: main::main (/usr/local/src/slimserver/slimserver.pl line 1111) 2005-03-23 09:26:25.9454 Running SQL query: [SELECT DISTINCT tracks.id AS id,tracks.url AS url,tracks.ct AS ct FROM contributor_track, tracks, contributors WHERE contributor_track.track = tracks.id AND contributors.id = contributor_track.contributor AND ( contributors.namesort = ? ) ORDER BY tracks.multialbumsortkey, tracks.disc, tracks.tracknum, tracks.titlesort] 2005-03-23 09:26:25.9457 Bind arguments: [ARCADE FIRE] 2005-03-23 09:26:26.0974 Backtrace: frame 0: Slim::Player::Source::playmode (/home/tsandee/slimserver_svn/trunk/server/Slim/Control/Command.pm line 884) frame 1: Slim::Control::Command::execute (/home/tsandee/slimserver_svn/trunk/server/Slim/Buttons/BrowseID3.pm line 356) frame 2: Slim::Buttons::BrowseID3::__ANON__ (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 616) frame 3: Slim::Hardware::IR::executeButton (/home/tsandee/slimserver_svn/trunk/server/Slim/Control/Command.pm line 566) frame 4: Slim::Control::Command::execute (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 640) frame 5: Slim::Hardware::IR::processCode (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 499) frame 6: Slim::Hardware::IR::releaseCode (/home/tsandee/slimserver_svn/trunk/server/Slim/Hardware/IR.pm line 394) frame 7: Slim::Hardware::IR::checkRelease (/home/tsandee/slimserver_svn/trunk/server/Slim/Utils/Timers.pm line 62) frame 8: Slim::Utils::Timers::checkTimers (/usr/local/src/slimserver/slimserver.pl line 611) frame 9: main::idle (/usr/local/src/slimserver/slimserver.pl line 549) frame 10: main::main (/usr/local/src/slimserver/slimserver.pl line 1111) 2005-03-23 09:26:26.0986 00:04:20:04:1a:3e: Switching to mode stop from stop 2005-03-23 09:26:26.0993 Already in playmode stop : ignoring mode change
I haven't been able to reproduce this at all. Are you able to narrow down anything common with the artists that are problematic? if you can upload your slimserversql.db file, that will help Dan.
Created attachment 371 [details] bzip2 attachment of my database OK, the artists in question are "The Arcade Fire". Some interesting things to note, the filenames have some UTF-8 in them I think. But I've been able to replicate this with other artists too.
Just FYI, still seeing this problem as of r2742. I deleted the database and let the server rebuild it. Thankfully I have figured out under exactly what circumstances this happens. It happens for ALL artists where the sort artist name (TSOA tag?) is NOT exactly the same as the artist name in the ID3 tag. For example: These will ALL fail to play using the remote control when browsing by artist on my system: The Beatles (Beatles, The) Bob Schneider (Schneider, Bob) Van Morrison (Morrison, Van) The Arcade Fire (Arcade Fire, The) These will succeed: Shriekback Sade Air Green Day Web interfaces works fine, thankfully, or I'd be unable to play 75% of my music by artist.
I meant TSOP tag I guess. TSOA is the album sort order.
Ben, you are correct about the TSOP tag contributing to the error. The web interface is set up to you database IDs instead of strings for querying. The player interface hasn't yet been updated to do that. Dan, why are we mapping a contributor.name query to the namesort field (and the same for genre and album, for that matter)? If we're looking for an exact match, it seems like we have to use the name field itself. What's the implication of making that change (i.e. where else do we have an expectation that we have to match the namesort field).
Fixed on 3/27/05.
confirmed, thanks!
This bug has been fixed in the latest release of SqueezeCenter! Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already. If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.