tiliado / nuvolaplayer

Nuvola Player - Tight integration of web-based media streaming services with your desktop
https://nuvola.tiliado.eu/
BSD 2-Clause "Simplified" License
334 stars 27 forks source link

Google Play Music is not working in Ubuntu 14.04: freeze in the middle of loading #134

Closed sigsergv closed 8 years ago

sigsergv commented 9 years ago

When I start goople music component I can successfully authenticate but main UI is not loading fully. Usually it stucks after showing some UI components but never competes.

I'm using completely updated Ubuntu 14.04.3 (trusty) with LXDE.

Tried stable and development version, no difference.

ii  nuvolaplayer3                             3.0.0~201507172014.8205f1c-0+1~trusty   i386         cloud music integration for Linux desktop
ii  nuvolaplayer3-all-services                0.201508051702-1~trusty                 i386         Service integrations for Nuvola Player 3
ii  nuvolaplayer3-bandcamp                    2.0-1~trusty                            i386         Bandcamp for Nuvola Player 3
ii  nuvolaplayer3-deezer                      2.3-1~trusty                            i386         Deezer for Nuvola Player 3
ii  nuvolaplayer3-google-play-music           5.4-1~trusty                            i386         Google Play Music for Nuvola Player 3
ii  nuvolaplayer3-jango                       2.0-1~trusty                            i386         Jango for Nuvola Player 3
ii  nuvolaplayer3-kexp                        1.0-1~trusty                            i386         KEXP Live Stream for Nuvola Player 3
ii  nuvolaplayer3-logitech-media-server       2.0-1~trusty                            i386         Logitech Media Server for Nuvola Player 3
ii  nuvolaplayer3-mixcloud                    1.0-1~trusty                            i386         Mixcloud for Nuvola Player 3
ii  nuvolaplayer3-rdio                        4.0-1~trusty                            i386         Rdio for Nuvola Player 3
ii  nuvolaplayer3-spotify                     2.1-1~trusty                            i386         Spotify for Nuvola Player 3
ii  nuvolaplayer3-this-is-my-jam              2.0-1~trusty                            i386         This is My Jam for Nuvola Player 3

Execution log:

$ nuvolaplayer3
[Master:WARNING  <unknown>] Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ynGZ98SQ0n: Connection refused
[Master:WARNING  Nuvola] WebAppRegistry.vala:165: Unable to load web app from /usr/share/nuvolaplayer3/web_apps/template: /usr/share/nuvolaplayer3/web_apps/template/metadata.json is not a file
[Master:WARNING  Nuvola] WebAppRegistry.vala:165: Unable to load web app from /usr/share/nuvolaplayer3/web_apps/template: /usr/share/nuvolaplayer3/web_apps/template/metadata.json is not a file
[Master:WARNING  Nuvola] WebAppRegistry.vala:165: Unable to load web app from /usr/share/nuvolaplayer3/web_apps/template: /usr/share/nuvolaplayer3/web_apps/template/metadata.json is not a file
[Runner:WARNING  <unknown>] Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ynGZ98SQ0n: Connection refused

** (WebKitWebProcess:2483): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-ynGZ98SQ0n: Connection refused
[Runner:WARNING  libnotify] Failed to connect to proxy
[Master:CRITICAL Nuvola] nuvola_xkey_grabber_grab_ungrab: assertion '((gint) _tmp22_) != 0' failed
[Master:CRITICAL Nuvola] Application will not function properly.
[Master:CRITICAL Nuvola] nuvola_xkey_grabber_grab_ungrab: assertion '((gint) _tmp22_) != 0' failed
[Master:CRITICAL Nuvola] Application will not function properly.
[Master:CRITICAL Nuvola] nuvola_xkey_grabber_grab_ungrab: assertion '((gint) _tmp22_) != 0' failed
[Master:CRITICAL Nuvola] Application will not function properly.
[Master:CRITICAL Nuvola] nuvola_xkey_grabber_grab_ungrab: assertion '((gint) _tmp22_) != 0' failed
[Master:CRITICAL Nuvola] Application will not function properly.
[Master:CRITICAL Nuvola] nuvola_xkey_grabber_grab_ungrab: assertion '((gint) _tmp22_) != 0' failed
[Master:CRITICAL Nuvola] Application will not function properly.
[Worker:DEBUG    Nuvola] main.vala:232: Page 1 created for (null)
[Worker:DEBUG    Nuvola] jsapi.vala:519: Nuvola.log: 'Fixed webcomponents: https://raw.githubusercontent.com/tiliado/nuvola-app-google-play/16627e12bf115fcaa97f4abc581382c2251f0e76/webcomponents.js'
[Worker:DEBUG    Nuvola] main.vala:141: Window object cleared: https://play.google.com/music/listen#/now, 0xaed03270, 0x9a79ac8, 0xa9d4fa64
https://play.google.com/music/listen#/nowJS ERROR: Refused to get unsafe header "Location"
JS ERROR: Blocked a frame with origin "https://2542116.fls.doubleclick.net" from accessing a frame with origin "https://play.google.com". Protocols, domains, and ports must match.
https://ssl.gstatic.com/play/music/fe/aaebde07a1270d4f408220f0088f8e2f/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb__ru.js:3414:235JS ERROR: CustomError: Error in protected function: undefined is not an object (evaluating 'a.toString=b')
https://ssl.gstatic.com/play/music/fe/aaebde07a1270d4f408220f0088f8e2f/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb__ru.js:3414:235JS ERROR: CustomError: Error in protected function: undefined is not an object (evaluating 'a.toString=b')
jiri-janousek commented 9 years ago

Hello. Thanks for your bug report. It seems to be a bug in Google Play Music JavaScript code, but I cannot reproduce it on my system. I will need more time to investigate it further and I'm scheduling this task for September 2015 for that reason.

https://ssl.gstatic.com/play/music/fe/aaebde07a1270d4f408220f0088f8e2f
/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb__ru.js:
3414:235JS ERROR: CustomError: Error in protected function:
undefined is not an object (evaluating 'a.toString=b')
https://ssl.gstatic.com/play/music/fe/aaebde07a1270d4f408220f0088f8e2f
/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb__ru.js:
3414:235JS ERROR: CustomError: Error in protected function:
 undefined is not an object (evaluating 'a.toString=b')
dinoboy197 commented 9 years ago

I'm having the exact same issue on Ubuntu 14.04.3 LTS. Here is a screenshot of what I see:

image

jiri-janousek commented 9 years ago

@sarbyn, your issue is actually a duplicate of #100

@sigsergv and @dinoboy197, does the issue still persist?

sigsergv commented 9 years ago

I will check in a few hours and report back, that machine is inaccessible now.

sigsergv commented 9 years ago

Still not working, just empty blue screen, sometimes with “loading library”, sometimes with some interface but it's not functioning. Cleared all caches and sessions (.local/share/nuvolaplayer3/, .cache/nuvolaplayer3/, .cache/webkitgtk/).

But I've found this error in syslog:

Aug 27 20:20:24 muzcenter kernel: [  250.191899] WebKitWebProces[1708]: segfault at 4 
ip b53bcede sp bfb07fb0 error 4 in libjavascriptcoregtk-3.0.so.0.16.16[b5068000+67d000]

And this in application output log:

[Worker:DEBUG    Nuvola] WebExtension.vala:230: Page 1 created for (null)
[Worker:DEBUG    Nuvola] jsapi.vala:519: Nuvola.log: 'Fixed webcomponents: 
nuvola://webcomponents.js'
[Worker:DEBUG    Nuvola] WebExtension.vala:139: Window object cleared: 
https://play.google.com/music/listen, 0xaee08738, 0x9e6fc28, 0xa747fa64
https://play.google.com/music/listenJS ERROR: Refused to get unsafe header "Location"
JS ERROR: Blocked a frame with origin "https://2542116.fls.doubleclick.net" 
from accessing a frame with origin "https://play.google.com". Protocols, 
domains, and ports must match.

Flashplugin version:

flashplugin-installer                     11.2.202.508ubuntu0.14.04.1
ii  nuvolaplayer3                             3.0.0~201508211407.2fd2707-0+1~trusty   i386         cloud music integration for Linux desktop
ii  nuvolaplayer3-all-services                0.201508051702-1~trusty                 i386         Service integrations for Nuvola Player 3
ii  nuvolaplayer3-bandcamp                    2.0-1~trusty                            i386         Bandcamp for Nuvola Player 3
ii  nuvolaplayer3-deezer                      2.3-1~trusty                            i386         Deezer for Nuvola Player 3
ii  nuvolaplayer3-google-play-music           5.6-1~trusty                            i386         Google Play Music for Nuvola Player 3
ii  nuvolaplayer3-jango                       2.0-1~trusty                            i386         Jango for Nuvola Player 3
ii  nuvolaplayer3-kexp                        1.0-1~trusty                            i386         KEXP Live Stream for Nuvola Player 3
ii  nuvolaplayer3-logitech-media-server       2.0-1~trusty                            i386         Logitech Media Server for Nuvola Player 3
ii  nuvolaplayer3-mixcloud                    1.0-1~trusty                            i386         Mixcloud for Nuvola Player 3
ii  nuvolaplayer3-rdio                        4.0-1~trusty                            i386         Rdio for Nuvola Player 3
ii  nuvolaplayer3-spotify                     2.1-1~trusty                            i386         Spotify for Nuvola Player 3
ii  nuvolaplayer3-this-is-my-jam              2.0-1~trusty                            i386         This is My Jam for Nuvola Player 3

All other packages are up to date.

dinoboy197 commented 9 years ago

I will test to let you know if I'm still having the same issue on 9/1 (currently on vacation and away from my Ubuntu computer.)

jiri-janousek commented 9 years ago

Hi @sigsergv. Could you provide a complete debugging output from terminal as described in Bug Reporting Guidelines? Thanks!

dinoboy197 commented 9 years ago

Issue still persists for me.

To start with a clean slate, I installed Ubuntu 14.04.03 completely fresh on a new host. I installed Nuvola player 3 beta from the graphical repository installer. No errors or problem occurred during install. I didn't install or configure any other software in the new Ubuntu install.

However, this issue is still present.

Perhaps Nuvola Player 3 Beta isn't compatible with stock Ubuntu 14.04 anymore?

jiri-janousek commented 9 years ago

Hi @dinoboy197. Could you provide a complete debugging output from terminal as described in Bug Reporting Guidelines? Thanks!

Perhaps Nuvola Player 3 Beta isn't compatible with stock Ubuntu 14.04 anymore?

I would rather say that Google Play Music website is no longer compatible with WebKitGTK present in Ubuntu 14.04. It still may be possible to find a workaround for this, but I need a debugging output to do so.

sigsergv commented 9 years ago

Here is my debug log https://gist.github.com/sigsergv/c43933c2eb882247f072

Also tried /usr/lib/i386-linux-gnu/webkit2gtk-3.0/libexec/MiniBrowser with google play music, and got the same error in syslog:

Sep  4 19:16:10 muzcenter kernel: [  819.666848] WebKitWebProces[4211]: segfault at 4 ip b546bede sp bfb4b530 error 4 in libjavascriptcoregtk-3.0.so.0.16.16[b5117000+67d

So the problem is definitely in webkitgtk library. Even if it loads page ( https://play.google.com/music/listen ) it's still not functioning: interface partially rendered, playback control don't work.

dinoboy197 commented 9 years ago

I've split my debugging output into two sections:

  1. Program start - Shows the debug output from program launch, clicking the "Google Play Music" icon in the launcher, to showing a completely blank screen with only the reload, back, etc buttons showing.
  2. After clicking reload - Shows the debug output which happens after I click the reload button on the interface, which actually loads part of the interface (but not all of it), up to the screenshot that I pasted above in this issue.
jiri-janousek commented 9 years ago

Thanks, @dinoboy197. How is this behaviour reproducible? Does Google Play Music always go blank at the start-up and shows partial user interface on reload or are these two cases random?

The blank window means the web page stopped loading, probably because of network error or crash of WebKitWebProces (as in @sigsergv 's case). Partial user interface is probably caused by JavaScript error. It will be hard to nalayze it though as the code is obfuscated :-(

https://ssl.gstatic.com/play/music/fe/98808f31b4e2636cde38eed438ae6731
/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb.js:3258:235
JS ERROR: CustomError: Error in protected function: undefined is not an object
(evaluating 'a.toString=b')
https://ssl.gstatic.com/play/music/fe/98808f31b4e2636cde38eed438ae6731
/listen_extended_d5d41cbe37133fce94c32acca2b8435c21125ddb.js:3258:235
JS ERROR: CustomError: Error in protected function: undefined is not an object
(evaluating 'a.toString=b')
sigsergv commented 9 years ago

I've updated webkitgtk to version 2.4.9 (from wily) and segfault has gone.

Also GUI is functioning fine: player shows trascks, search is working, music is playing. Looks like Google has fixed javascript error.

jiri-janousek commented 9 years ago

I've updated webkitgtk to version 2.4.9 (from wily) and segfault has gone.

Google Play Music seems to trigger a segfault bug in WebKit's JavaScriptCore engine that has been fixed in later WebKitGTK+ releases then :-)

Looks like Google has fixed javascript error.

I don't think so. It's more likely that Google Play Music uses some JavaScript functionality that is not available in trusty's WebKitGTK (very common case for "undefined is not an object" error), but is available in wily's WebKitGTK. However, I haven't had time to verify this claim yet :-(

jiri-janousek commented 8 years ago

There have been some changes in the Google Play Music code. Does this issue still happen?

sigsergv commented 8 years ago

It's working fine for a few months.

jiri-janousek commented 8 years ago

Great :-) Closing

dinoboy197 commented 8 years ago

Yes, I agree. I just tried 3.0.0 stable and it does seem to work in 14.04. Bravo!