crash when last.fm is enabled is goa
After enabling and authenticating my last.fm account in GOA, GNOME Music crashes whenever I play anything. Here's the logs:
21:52:04 DEBUG MediaKeys._grab_media_player_keys(<MediaKeys>, <Gtk.EventControllerKey object at 0x7fe10d47beb0 (GtkEventControllerKey at 0x56141d3c5410)>)[mediakeys.py:88]
21:52:04 DEBUG DiscBox._song_activated(<DiscBox>, <SongWidget>, <Gdk.EventButton object at 0x7fe10c0438f0 (void at 0x7fe0e4003710)>)[disclistboxwidget.py:113]
21:52:04 DEBUG |AlbumWidget._song_activated(<AlbumWidget>, <DiscBox>, <SongWidget>)[albumwidget.py:158]
21:52:04 DEBUG ||Player.play(<Player>, <coresong.CoreSong object at 0x7fe10c637820 (gnomemusic+coresong+CoreSong at 0x56141cf9e6e0)>)[player.py:505]
21:52:04 DEBUG |||GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG ||| returned <Playback.LOADING: 1>
21:52:04 DEBUG |||InhibitSuspend._on_player_state_changed(<InhibitSuspend>, <Player>, <GParamInt 'state'>)[inhibitsuspend.py:88]
21:52:04 DEBUG ||||InhibitSuspend._inhibit_suspend(<InhibitSuspend>)[inhibitsuspend.py:64]
21:52:04 DEBUG |||PauseOnSuspend._on_player_state_changed(<PauseOnSuspend>, <Player>, <GParamInt 'state'>)[pauseonsuspend.py:62]
21:52:04 DEBUG |||SmoothScale._on_state_change(<SmoothScale>, <Player>, <GParamInt 'state'>)[smoothscale.py:92]
21:52:04 DEBUG ||||SmoothScale._remove_timeout(<SmoothScale>)[smoothscale.py:194]
21:52:04 DEBUG ||| returned True
21:52:04 DEBUG |||PlayerToolbar._sync_playing(<PlayerToolbar>, <Player>, <GParamInt 'state'>)[playertoolbar.py:144]
21:52:04 DEBUG |||MPRIS._on_player_state_changed(<MPRIS>, <Player>, <GParamInt 'state'>)[mpris.py:540]
21:52:04 DEBUG ||||MPRIS._get_playback_status(<MPRIS>)[mpris.py:314]
21:52:04 DEBUG |||| returned 'Playing'
21:52:04 DEBUG |||GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG ||| returned <Playback.PLAYING: 3>
21:52:04 DEBUG |||InhibitSuspend._on_player_state_changed(<InhibitSuspend>, <Player>, <GParamInt 'state'>)[inhibitsuspend.py:88]
21:52:04 DEBUG ||||InhibitSuspend._inhibit_suspend(<InhibitSuspend>)[inhibitsuspend.py:64]
21:52:04 DEBUG |||PauseOnSuspend._on_player_state_changed(<PauseOnSuspend>, <Player>, <GParamInt 'state'>)[pauseonsuspend.py:62]
21:52:04 DEBUG ||||PauseOnSuspend._take_lock(<PauseOnSuspend>)[pauseonsuspend.py:78]
21:52:04 DEBUG |||SmoothScale._on_state_change(<SmoothScale>, <Player>, <GParamInt 'state'>)[smoothscale.py:92]
21:52:04 DEBUG ||||SmoothScale._update_position_callback(<SmoothScale>)[smoothscale.py:207]
21:52:04 DEBUG |||||Player.get_position(<Player>)[player.py:669]
21:52:04 DEBUG ||||| returned -1e-09
21:52:04 DEBUG |||||SmoothScale._update_timeout(<SmoothScale>)[smoothscale.py:170]
21:52:04 DEBUG |||| returned False
21:52:04 DEBUG ||| returned True
21:52:04 DEBUG |||PlayerToolbar._sync_playing(<PlayerToolbar>, <Player>, <GParamInt 'state'>)[playertoolbar.py:144]
21:52:04 DEBUG |||MPRIS._on_player_state_changed(<MPRIS>, <Player>, <GParamInt 'state'>)[mpris.py:540]
21:52:04 DEBUG ||||MPRIS._get_playback_status(<MPRIS>)[mpris.py:314]
21:52:04 DEBUG |||| returned 'Playing'
21:52:04 DEBUG | returned True
21:52:04 DEBUG returned True
21:52:04 DEBUG PauseOnSuspend._on_inhibit(<PauseOnSuspend>, <Gio.DBusProxy object at 0x7fe10d4749b0 (GDBusProxy at 0x56141d1c9370)>, <Gio.Task object at 0x7fe10c297820 (GTask at 0x7fe0e000e560)>)[pauseonsuspend.py:94]
21:52:04 DEBUG GstPlayer._on_bus_stream_start(<GstPlayer>, <Gst.Bus object at 0x7fe10da78500 (GstBus at 0x7fe110009620)>, <Gst.Message object at 0x7fe10c070f30 (GstMessage at 0x56141fa0b820)>)[gstplayer.py:172]
21:52:04 DEBUG GstPlayer._on_async_done(<GstPlayer>, <Gst.Bus object at 0x7fe10da78500 (GstBus at 0x7fe110009620)>, <Gst.Message object at 0x7fe10c070f30 (GstMessage at 0x56141f9bba00)>)[gstplayer.py:140]
21:52:04 DEBUG |GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG | returned <Playback.PLAYING: 3>
21:52:04 DEBUG |SmoothScale._on_duration_changed(<SmoothScale>, <Player>, <GParamDouble 'duration'>)[smoothscale.py:112]
21:52:04 DEBUG |GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG | returned <Playback.PLAYING: 3>
21:52:04 DEBUG |InhibitSuspend._on_player_state_changed(<InhibitSuspend>, <Player>, <GParamInt 'state'>)[inhibitsuspend.py:88]
21:52:04 DEBUG ||InhibitSuspend._inhibit_suspend(<InhibitSuspend>)[inhibitsuspend.py:64]
21:52:04 DEBUG |PauseOnSuspend._on_player_state_changed(<PauseOnSuspend>, <Player>, <GParamInt 'state'>)[pauseonsuspend.py:62]
21:52:04 DEBUG |SmoothScale._on_state_change(<SmoothScale>, <Player>, <GParamInt 'state'>)[smoothscale.py:92]
21:52:04 DEBUG ||SmoothScale._update_position_callback(<SmoothScale>)[smoothscale.py:207]
21:52:04 DEBUG |||Player.get_position(<Player>)[player.py:669]
21:52:04 DEBUG ||| returned 0.018171
21:52:04 DEBUG |||PlayerToolbar._on_progress_value_changed(<PlayerToolbar>, <SmoothScale>)[playertoolbar.py:113]
21:52:04 DEBUG |||SmoothScale._update_timeout(<SmoothScale>)[smoothscale.py:170]
21:52:04 DEBUG || returned False
21:52:04 DEBUG | returned True
21:52:04 DEBUG |PlayerToolbar._sync_playing(<PlayerToolbar>, <Player>, <GParamInt 'state'>)[playertoolbar.py:144]
21:52:04 DEBUG |MPRIS._on_player_state_changed(<MPRIS>, <Player>, <GParamInt 'state'>)[mpris.py:540]
21:52:04 DEBUG ||MPRIS._get_playback_status(<MPRIS>)[mpris.py:314]
21:52:04 DEBUG || returned 'Playing'
21:52:04 DEBUG GstPlayer._on_new_clock(<GstPlayer>, <Gst.Bus object at 0x7fe10da78500 (GstBus at 0x7fe110009620)>, <Gst.Message object at 0x7fe10c070f30 (GstMessage at 0x56141fa45400)>)[gstplayer.py:156]
21:52:04 DEBUG GstPlayer._on_clock_tick(<GstPlayer>, <GstAudio.AudioClock object at 0x7fe10c2b3fa0 (GstAudioClock at 0x56141dbb4610)>, 0, 94644438048176, None)[gstplayer.py:162]
21:52:04 DEBUG GstPlayer._on_async_done(<GstPlayer>, None, None)[gstplayer.py:140]
21:52:04 DEBUG |Player._on_clock_tick(<Player>, <GstPlayer>, 0)[player.py:583]
21:52:04 DEBUG Clock tick 0, player at 0.021594 seconds
21:52:04 DEBUG |||GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG |||LastFmScrobbler.now_playing(<LastFmScrobbler>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>)[scrobbler.py:230]
21:52:04 DEBUG ||| returned <Playback.PLAYING: 3>
21:52:04 DEBUG ||||LastFmScrobbler._lastfm_api_call(<LastFmScrobbler>, <Grl.Media object at 0x7fe10c6377d0 (GrlMedia at 0x56141e111ad0)>, None, 'update now playing')[scrobbler.py:150]
21:52:04 DEBUG ||||SmoothScale._on_duration_changed(<SmoothScale>, <Player>, <GParamDouble 'duration'>)[smoothscale.py:112]
21:52:04 DEBUG |||||GstPlayer._get_playback_status(<GstPlayer>)[gstplayer.py:207]
21:52:04 DEBUG ||||| returned <Playback.PLAYING: 3>
21:52:04 DEBUG |||||InhibitSuspend._on_player_state_changed(<InhibitSuspend>, <Player>, <GParamInt 'state'>)[inhibitsuspend.py:88]
21:52:04 DEBUG ||||||InhibitSuspend._inhibit_suspend(<InhibitSuspend>)[inhibitsuspend.py:64]
21:52:04 DEBUG |||||PauseOnSuspend._on_player_state_changed(<PauseOnSuspend>, <Player>, <GParamInt 'state'>)[pauseonsuspend.py:62]
21:52:04 DEBUG |||||SmoothScale._on_state_change(<SmoothScale>, <Player>, <GParamInt 'state'>)[smoothscale.py:92]
21:52:04 DEBUG ||||||SmoothScale._update_position_callback(<SmoothScale>)[smoothscale.py:207]
21:52:04 DEBUG |||||||Player.get_position(<Player>)[player.py:669]
21:52:04 DEBUG ||||||| returned 0.024974
21:52:04 DEBUG |||||||PlayerToolbar._on_progress_value_changed(<PlayerToolbar>, <SmoothScale>)[playertoolbar.py:113]
21:52:04 DEBUG |||||||SmoothScale._update_timeout(<SmoothScale>)[smoothscale.py:170]
21:52:04 DEBUG |||||| returned False
21:52:04 DEBUG ||||| returned True
21:52:04 DEBUG |||||PlayerToolbar._sync_playing(<PlayerToolbar>, <Player>, <GParamInt 'state'>)[playertoolbar.py:144]
21:52:04 DEBUG |||||MPRIS._on_player_state_changed(<MPRIS>, <Player>, <GParamInt 'state'>)[mpris.py:540]
21:52:04 DEBUG ||||||MPRIS._get_playback_status(<MPRIS>)[mpris.py:314]
21:52:04 DEBUG |||||| returned 'Playing'
21:52:04 DEBUG ||||PlayerToolbar._update_view(<PlayerToolbar>, <Player>)[playertoolbar.py:165]
21:52:04 DEBUG |||||PlayerToolbar._sync_prev_next(<PlayerToolbar>)[playertoolbar.py:160]
21:52:04 DEBUG ||||||PlayerPlaylist.has_next(<PlayerPlayList>)[player.py:100]
21:52:04 DEBUG |||||| returned True
21:52:04 DEBUG ||||||PlayerPlaylist.has_previous(<PlayerPlayList>)[player.py:114]
21:52:04 DEBUG |||||| returned True
21:52:04 DEBUG |||||CoverStack.update(<CoverStack>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>)[coverstack.py:98]
21:52:04 DEBUG ||||||Art.__init__(<Art>, <Size.XSMALL: (34, 34)>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>, 1)[albumartcache.py:202]
21:52:04 DEBUG ||||||Art.lookup(<Art>)[albumartcache.py:216]
21:52:04 DEBUG |||||||Art._in_blacklist(<Art>)[albumartcache.py:303]
21:52:04 DEBUG ||||||| returned False
21:52:04 DEBUG |||||||Cache.__init__(<Cache>)[albumartcache.py:342]
21:52:04 DEBUG |||||||Cache.query(<Cache>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>)[albumartcache.py:356]
21:52:04 DEBUG ||||||||lookup_art_file_from_cache(<coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>)[albumartcache.py:43]
21:52:04 DEBUG |||||||| returned <__gi__.GLocalFile object at 0x7fe10c30fc30 (GLocalFile at 0x56141ce7b780)>
21:52:04 DEBUG ||||MPRIS._on_current_song_changed(<MPRIS>, <Player>)[mpris.py:508]
21:52:04 DEBUG |||||MPRIS._update_songs_list(<MPRIS>)[mpris.py:419]
21:52:04 DEBUG ||||||Player.get_playlist_type(<Player>)[player.py:651]
21:52:04 DEBUG |||||| returned -1
21:52:04 DEBUG ||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2e6eb0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004da0)>, 0)[mpris.py:392]
21:52:04 DEBUG |||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373737_0'
21:52:04 DEBUG ||||||MPRIS._get_metadata(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2e6eb0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004da0)>, 0)[mpris.py:333]
21:52:04 DEBUG |||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2e6eb0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004da0)>, 0)[mpris.py:392]
21:52:04 DEBUG ||||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373737_0'
21:52:04 DEBUG |||||||lookup_art_file_from_cache(<coresong.CoreSong object at 0x7fe10c2e6eb0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004da0)>)[albumartcache.py:43]
21:52:04 DEBUG ||||||| returned <__gi__.GLocalFile object at 0x7fe10c305410 (GLocalFile at 0x7fe0cc013560)>
21:52:04 DEBUG |||||| returned {'mpris:trackid': GLib.Variant('o', '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373737_0'), 'xesam:url': GLib.Variant('s', 'file:///home/nemoload/Music/Android/Kanye%20West%20-%20808s%20&%20Heartbreak/001%20Kanye%20West%20-%20Say%20You%20Will.mp3'), 'mpris:length': GLib.Variant('x', 377000000), 'xesam:useCount': GLib.Variant('i', 0), 'xesam:userRating': GLib.Variant('d', 0.0), 'xesam:title': GLib.Variant('s', 'Say You Will'), 'xesam:album': GLib.Variant('s', '808s & Heartbreak'), 'xesam:artist': GLib.Variant('as', ['Kanye West']), 'xesam:albumArtist': GLib.Variant('as', ['Kanye West']), 'xesam:trackNumber': GLib.Variant('i', 1), 'mpris:artUrl': GLib.Variant('s', 'file:///home/nemoload/.cache/media-art/album-0b48849166b97b6b053a0e1e5e131231-1be5dec24f70fb9bbbeed861f071f14f.jpeg')}
21:52:04 DEBUG ||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c0282d0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004c00)>, 1)[mpris.py:392]
21:52:04 DEBUG |||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373736_1'
21:52:04 DEBUG ||||||MPRIS._get_metadata(<MPRIS>, <coresong.CoreSong object at 0x7fe10c0282d0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004c00)>, 1)[mpris.py:333]
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/gnomemusic/__init__.py", line 60, in wrapped
21:52:04 DEBUG |||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c0282d0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004c00)>, 1)[mpris.py:392]
21:52:04 DEBUG ||||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373736_1'
retval = fn(*v, **k)
File "/usr/lib/python3.7/site-packages/gnomemusic/player.py", line 592, in _on_clock_tick
21:52:04 DEBUG |||||||lookup_art_file_from_cache(<coresong.CoreSong object at 0x7fe10c0282d0 (gnomemusic+coresong+CoreSong at 0x7fe0e0004c00)>)[albumartcache.py:43]
self._lastfm.now_playing(current_song)
File "/usr/lib/python3.7/site-packages/gnomemusic/__init__.py", line 60, in wrapped
21:52:04 DEBUG ||||||| returned <__gi__.GLocalFile object at 0x7fe10c2f2280 (GLocalFile at 0x7fe08c00c760)>
retval = fn(*v, **k)
File "/usr/lib/python3.7/site-packages/gnomemusic/scrobbler.py", line 244, in now_playing
self._lastfm_api_call(media, None, "update now playing")
File "/usr/lib/python3.7/site-packages/gnomemusic/__init__.py", line 60, in wrapped
retval = fn(*v, **k)
File "/usr/lib/python3.7/site-packages/gnomemusic/scrobbler.py", line 154, in _lastfm_api_call
sk = self._goa_lastfm.session_key
File "/usr/lib/python3.7/site-packages/gi/_propertyhelper.py", line 210, in __get__
21:52:04 DEBUG |||||| returned {'mpris:trackid': GLib.Variant('o', '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373736_1'), 'xesam:url': GLib.Variant('s', 'file:///home/nemoload/Music/Android/Kanye%20West%20-%20808s%20&%20Heartbreak/002%20Kanye%20West%20-%20Welcome%20To%20Heartbreak%20(Feat.%20Kid%20Cudi).mp3'), 'mpris:length': GLib.Variant('x', 263000000), 'xesam:useCount': GLib.Variant('i', 0), 'xesam:userRating': GLib.Variant('d', 0.0), 'xesam:title': GLib.Variant('s', 'Welcome To Heartbreak (Feat. K'), 'xesam:album': GLib.Variant('s', '808s & Heartbreak'), 'xesam:artist': GLib.Variant('as', ['Kanye West']), 'xesam:albumArtist': GLib.Variant('as', ['Kanye West']), 'xesam:trackNumber': GLib.Variant('i', 2), 'mpris:artUrl': GLib.Variant('s', 'file:///home/nemoload/.cache/media-art/album-0b48849166b97b6b053a0e1e5e131231-1be5dec24f70fb9bbbeed861f071f14f.jpeg')}
value = self.fget(instance)
21:52:04 DEBUG ||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>, 2)[mpris.py:392]
File "/usr/lib/python3.7/site-packages/gnomemusic/scrobbler.py", line 123, in session_key
21:52:04 DEBUG |||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373735_2'
21:52:04 DEBUG ||||||MPRIS._get_metadata(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>, 2)[mpris.py:333]
21:52:04 DEBUG |||||||MPRIS._get_song_dbus_path(<MPRIS>, <coresong.CoreSong object at 0x7fe10c2985f0 (gnomemusic+coresong+CoreSong at 0x7fe0e805b320)>, 2)[mpris.py:392]
21:52:04 DEBUG ||||||| returned '/org/gnome/GnomeMusic/TrackList/67726c2d747261636b65722d736f75726365313036373735_2'
return self._authentication.call_get_access_token_sync(None)[0]
gi.repository.GLib.Error: goa-error-quark: GDBus.Error:org.gnome.OnlineAccounts.Error.NotAuthorized: Failed to retrieve credentials from the keyring (4)