Bugzilla – Bug 13568
"Love this track" item in trackinfo menu causes request to fail
Last modified: 2013-04-12 12:01:39 UTC
Tom and I debugged this for a few hours on Friday and came to the conclusion that Slim::Control::XMLBrowser has a bug where it's creating a request response structure where the url is a callback function for the AudioScrobbler "Love this Track" item. This causes to_json() to barf and the request to fail. command issued by SP (contextmenu command proxies its request on to trackinfo). { --[[table: 0x17483910]] "contextmenu", 0, 200, "playlist_index:0", "menu:track", "context:playlist", "useContextMenu:1", } 20090821 16:43:27.869 WARN net.comet - Comet.lua:874 Comet {mediumspicy}: _response, nil id=nil failed: encountered CODE(0xb38080c), but JSON can only represent references to arrays or hashes at /home/bklaas/squeezecenter/7.4/trunk/server/Slim/Web/Cometd.pm line 638. 20090821 16:43:27.869 WARN net.comet - Comet.lua:954 Comet {mediumspicy}: _response, unknown error: encountered CODE(0xb38080c), but JSON can only represent references to ar SC dump of what's getting passed to to_json() in Comet.pm Note url of the Love this Track, the first item: [09-08-21 14:44:08.6711] Data::Dump::dump (100) Warning: { favorites => 0, name => "Last.fm: Love this track", passthrough => [ "file:///data/tunevault/downbeat_grooves/Hooverphonic%20-%20A%20New%20Stereophonic%20Sound%20Spectacular/Hooverphonic%20-%2003%20-%20Wardrope.mp3", ], type => "link", url => sub { "???" }, } [09-08-21 14:44:08.6732] Data::Dump::dump (100) Warning: do { my $a = { jive => { actions => { add => { cmd => ["playlist", "delete", 2], nextWindow => "parent", player => 0 }, "add-hold" => 'fix', go => 'fix', play => 'fix', }, }, name => "Remove from playlist", type => "text", }; $a->{jive}{actions}{"add-hold"} = $a->{jive}{actions}{add}; $a->{jive}{actions}{go} = $a->{jive}{actions}{add}; $a->{jive}{actions}{play} = $a->{jive}{actions}{add}; $a; } [09-08-21 14:44:08.6752] Data::Dump::dump (100) Warning: do { my $a = { jive => { actions => { add => { cmd => ["playlist", "move", 2, 2], nextWindow => "parent", player => 0 }, "add-hold" => 'fix', go => 'fix', play => 'fix', }, }, name => "Play next", type => "text", }; $a->{jive}{actions}{"add-hold"} = $a->{jive}{actions}{add}; $a->{jive}{actions}{go} = $a->{jive}{actions}{add}; $a->{jive}{actions}{play} = $a->{jive}{actions}{add}; $a; } [09-08-21 14:44:08.6772] Data::Dump::dump (100) Warning: do { my $a = { jive => { actions => { add => { cmd => ["playlist", "jump", 2], nextWindow => "parent", player => 0 }, "add-hold" => 'fix', go => 'fix', play => 'fix', }, }, name => "Play", type => "text", }; $a->{jive}{actions}{"add-hold"} = $a->{jive}{actions}{add}; $a->{jive}{actions}{go} = $a->{jive}{actions}{add}; $a->{jive}{actions}{play} = $a->{jive}{actions}{add}; $a; } [09-08-21 14:44:08.6791] Data::Dump::dump (100) Warning: { jive => { actions => { go => { cmd => ["jivefavorites", "add"], params => { isContextMenu => 1, title => "Wardrope", url => "file:///data/tunevault/downbeat_grooves/Hooverphonic%20-%20A%20New%20Stereophonic%20Sound%20Spectacular/Hooverphonic%20-%2003%20-%20Wardrope.mp3", }, player => 0, }, }, }, name => "Save to Favorites", type => "text", } [09-08-21 14:44:08.6840] Data::Dump::dump (100) Warning: do { my $a = { db => { findCriteria => { "contributor.id" => 245, "contributor.role" => "ARTIST" }, hierarchy => "contributor,album,track", level => 1, selectionCriteria => { "album.id" => 189, "contributor.id" => 245, "track.id" => 1994 }, }, jive => { actions => { add => { cmd => ["playlistcontrol"], params => { artist_id => 245, cmd => "add" }, player => 0, }, "add-hold" => { cmd => ["playlistcontrol"], params => { artist_id => 245, cmd => "insert" }, player => 0, }, go => { cmd => ["albums"], params => { artist_id => 245, menu => "track", menu_all => 1 }, }, play => { cmd => ["playlistcontrol"], params => { artist_id => 245, cmd => "load" }, player => 0, }, "play-hold" => { cmd => ["musicip", "mix"], itemsParams => "params", params => { artist_id => 245, menu => 1, useContextMenu => 1 }, player => 0, }, }, playHoldAction => "go", window => { menuStyle => "album", text => "Hooverphonic", titleStyle => "artists" }, }, name => "Artist: Hooverphonic", player => { mode => "browsedb", modeParams => 'fix' }, type => "redirect", web => { group => "ARTIST", type => "contributor", url => "browsedb.html?hierarchy=contributor,album,track&level=1&contributor.role=ARTIST&contributor.id=245", value => "Hooverphonic", }, }; $a->{player}{modeParams} = $a->{db}; $a; } [09-08-21 14:44:08.6891] Data::Dump::dump (100) Warning: do { my $a = { db => { findCriteria => { "album.id" => 189, "contributor.id" => 245 }, hierarchy => "album,track", level => 1, selectionCriteria => { "album.id" => 189, "contributor.id" => 245, "track.id" => 1994 }, }, jive => { actions => { add => { cmd => ["playlistcontrol"], params => { album_id => 189, cmd => "add" }, player => 0, }, "add-hold" => { cmd => ["playlistcontrol"], params => { album_id => 189, cmd => "insert" }, player => 0, }, go => { cmd => ["tracks"], params => { album_id => 189, menu => "songinfo", menu_all => 1, "sort" => "tracknum" }, }, play => { cmd => ["playlistcontrol"], params => { album_id => 189, cmd => "load" }, player => 0, }, "play-hold" => { cmd => ["musicip", "mix"], itemsParams => "params", params => { album_id => 189, menu => 1, useContextMenu => 1 }, player => 0, }, }, playHoldAction => "go", window => { "icon-id" => 1994, text => "A New Stereophonic Sound Spectacular", titleStyle => "album", }, }, name => "Album: A New Stereophonic Sound Spectacular", player => { mode => "browsedb", modeParams => 'fix' }, type => "redirect", web => { group => "album", url => "browsedb.html?hierarchy=album,track&level=1&album.id=189&contributor.id=245", value => "A New Stereophonic Sound Spectacular", }, }; $a->{player}{modeParams} = $a->{db}; $a; } [09-08-21 14:44:08.6936] Data::Dump::dump (100) Warning: do { my $a = { db => { findCriteria => { "genre.id" => 14 }, hierarchy => "genre,contributor,album,track", level => 1, selectionCriteria => { "Slim::Schema::Contributor=HASH(0xc05312c)" => undef, "album.id" => 189, "contributor.id" => 245, "track.id" => 1994, }, }, jive => { actions => { add => { cmd => ["playlistcontrol"], params => { cmd => "add", genre_id => 14 }, player => 0, }, go => { cmd => ["artists"], params => { genre_id => 14, menu => "album", menu_all => 1 }, }, play => { cmd => ["playlistcontrol"], params => { cmd => "load", genre_id => 14 }, player => 0, }, "play-hold" => { cmd => ["musicip", "mix"], itemsParams => "params", params => { genre_id => 14, menu => 1, useContextMenu => 1 }, player => 0, }, }, playHoldAction => "go", window => { text => "Trip-Hop", titleStyle => "genres" }, }, name => "Genre: Trip-Hop", player => { mode => "browsedb", modeParams => 'fix' }, type => "redirect", web => { group => "genre", url => "browsedb.html?hierarchy=genre,contributor,album,track&level=1&genre.id=14", value => "Trip-Hop", }, }; $a->{player}{modeParams} = $a->{db}; $a; } [09-08-21 14:44:08.6955] Data::Dump::dump (100) Warning: { jive => { actions => { "do" => { cmd => ["artwork", 1994] } }, showBigArtwork => 1, }, name => "Show Artwork", type => "text", } [09-08-21 14:44:08.6970] Data::Dump::dump (100) Warning: { items => [ { name => "Comment: Tagged by MC Stay in Skool", type => "text", wrap => 1, }, ], name => "Comment", web => { group => "comment", unfold => 1 }, } [09-08-21 14:44:08.7001] Data::Dump::dump (100) Warning: { isContextMenu => 1, items => [ { name => "Track Number: 3", type => "text" }, { name => "File Format: MP3", type => "text" }, { name => "Duration: 4:31", type => "text" }, { name => "Bitrate: 160kbps CBR", type => "text" }, { name => "Sample Rate: 44.1 kHz", type => "text" }, { name => "File Length: 5,423,877", type => "text" }, { name => "Location: /data/tunevault/downbeat_grooves/Hooverphonic - A New Stereophonic Sound Spectacular/Hooverphonic - 03 - Wardrope.mp3", type => "text", weblink => "/music/1994/download", }, { name => "Date Modified: Friday, June 28, 2002, 12:35 PM", type => "text", }, { name => "ID3 Tag Version: ID3v2.3.0", type => "text" }, ], name => "More Info", web => { group => "moreinfo", unfold => 1 }, } [09-08-21 14:44:08.7019] Data::Dump::dump (100) Warning: { jive => { actions => { go => { cmd => ["albumcredits", "get"], params => { album_id => 189, menu => 1 }, }, }, }, name => "Album Credits", type => "redirect", } [09-08-21 14:44:08.7039] Data::Dump::dump (100) Warning: { jive => { actions => { go => { cmd => ["albumreview", "get"], params => { album_id => 189, menu => 1 }, }, }, }, name => "Album Review", player => { mode => "Plugins::AlbumReview::Plugin", modeParams => { album_id => 189 }, }, type => "redirect", web => { url => "plugins/AlbumReview/index.html?album_id=189" }, } [09-08-21 14:44:08.7061] Data::Dump::dump (100) Warning: { jive => { actions => { go => { cmd => ["biography", "get"], params => { menu => 1, track_id => 1994 }, }, }, }, name => "Biography", player => { mode => "Plugins::Biography::Plugin", modeParams => { track_id => 1994 }, }, type => "redirect", web => { url => "plugins/Biography/index.html?track_id=1994" }, } [09-08-21 14:44:08.7155] Data::Dump::dump (100) Warning: do { my $a = { favorites => 0, jive => { actions => { go => { cmd => ["musicip", "mix"], params => { menu => 1, track_id => 1994, useContextMenu => 1 }, player => 0, }, }, }, name => "Create MusicIP Mix", player => { mode => "musicmagic_mix", modeParams => { track => bless({ _column_data => { album => 189, audio => 1, audio_offset => 206, audio_size => 5_423_543, bitrate => 160_000, block_alignment => 1, bpm => undef, channels => undef, content_type => "mp3", cover => "/data/tunevault/downbeat_grooves/Hooverphonic - A New Stereophonic Sound Spectacular/cover.jpg", disc => undef, drm => 0, endian => undef, extid => undef, filesize => 5_423_877, id => 1994, lossless => 0, lyrics => undef, musicbrainz_id => undef, musicmagic_mixable => 1, primary_artist => 245, remote => 0, replay_gain => undef, replay_peak => undef, samplerate => 44_100, samplesize => undef, secs => 271, tagversion => "ID3v2.3.0", timestamp => "1025285722", title => "Wardrope", titlesearch => "WARDROPE", titlesort => "WARDROPE", tracknum => 3, url => "file:///data/tunevault/downbeat_grooves/Hooverphonic%20-%20A%20New%20Stereophonic%20Sound%20Spectacular/Hooverphonic%20-%2003%20-%20Wardrope.mp3", vbr_scale => undef, year => 0, }, _dirty_columns => {}, _in_storage => 1, _inflated_column => { album => bless({ _column_data => { artwork => 1992, compilation => undef, contributor => 245, disc => undef, discc => undef, id => 189, musicbrainz_id => undef, musicmagic_mixable => 1, replay_gain => undef, replay_peak => undef, title => "A New Stereophonic Sound Spectacular", titlesearch => "A NEW STEREOPHONIC SOUND SPECTACULAR", titlesort => "A NEW STEREOPHONIC SOUND SPECTACULAR", year => 0, }, _in_storage => 1, _source_handle => bless({ schema => "Slim::Schema", source_moniker => "Album" }, "DBIx::Class::ResultSourceHandle"), }, "Slim::Schema::Album"), primary_artist => bless({ _column_data => { id => 245, musicbrainz_id => undef, musicmagic_mixable => 1, name => "Hooverphonic", namesearch => "HOOVERPHONIC", namesort => "HOOVERPHONIC", }, _in_storage => 1, _source_handle => bless({ schema => "Slim::Schema", source_moniker => "Contributor" }, "DBIx::Class::ResultSourceHandle"), }, "Slim::Schema::Contributor"), }, _orig_ident => undef, _relationship_data => {}, _source_handle => bless({ schema => "Slim::Schema", source_moniker => "Track" }, "DBIx::Class::ResultSourceHandle"), related_resultsets => { comments => bless({ _result_class => "Slim::Schema::Comment", _source_handle => bless({ schema => "Slim::Schema", source_moniker => "Comment" }, "DBIx::Class::ResultSourceHandle"), attrs => { accessor => "multi", alias => "me", cascade_copy => 1, cascade_delete => 1, join_type => "LEFT", where => { "me.track" => 1994 }, }, cond => 'fix', count => undef, pager => undef, }, "DBIx::Class::ResultSet"), }, }, "Slim::Schema::Track"), }, }, type => "redirect", web => { group => "mixers", item => { mixerlinks => { MUSICMAGIC => "plugins/MusicMagic/mixerlink.html" }, "mmmixable_not_descend" => 1, musicmagic_mixable => 1, }, url => "plugins/MusicMagic/musicmagic_mix.html?song=1994", }, }; $a->{player}{modeParams}{track}{related_resultsets}{comments}{cond} = $a->{player}{modeParams}{track}{related_resultsets}{comments}{attrs}{where}; $a; } [09-08-21 14:44:08.7177] Data::Dump::dump (100) Warning: { favorites => 0, name => "On Last.fm Radio", type => "link", url => "http://www.test.squeezenetwork.com/api/lastfm/v1/opml/search_artist?q=Hooverphonic", } [09-08-21 14:44:08.7190] Data::Dump::dump (100) Warning: { favorites => 0, name => "On Rhapsody", type => "link", url => "http://www.test.squeezenetwork.com/api/rhapsody/v1/opml/context?artist=Hooverphonic&album=A%20New%20Stereophonic%20Sound%20Spectacular&track=Wardrope", }
*** Bug 13121 has been marked as a duplicate of this bug. ***
== Auto-comment from SVN commit #28268 to the slim repo by andy == == https://svn.slimdevices.com/slim?view=revision&revision=28268 == Fixed bug 13568, don't pass on favorites_url if it's a ref
== Auto-comment from SVN commit #28269 to the slim repo by bklaas == == https://svn.slimdevices.com/slim?view=revision&revision=28269 == Bug: 13568 Description: fix for bug in retrieving CM for playlist index of 0
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.