Bug 13568 - "Love this track" item in trackinfo menu causes request to fail
: "Love this track" item in trackinfo menu causes request to fail
Status: CLOSED FIXED
Product: SqueezePlay
Classification: Unclassified
Component: SB Server
: unspecified
: PC Other
: P1 normal (vote)
: 7.4.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-08-21 13:14 UTC by Ben Klaas
Modified: 2013-04-12 12:01 UTC (History)
5 users (show)

See Also:
Category: Bug


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Klaas 2009-08-21 13:14:32 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",
}
Comment 1 Ben Klaas 2009-08-24 12:23:54 UTC
*** Bug 13121 has been marked as a duplicate of this bug. ***
Comment 2 SVN Bot 2009-08-25 14:30:36 UTC
 == 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
Comment 3 SVN Bot 2009-08-25 14:37:36 UTC
 == 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
Comment 4 James Richardson 2009-10-05 14:36:55 UTC
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.