i-rinat / freshplayerplugin

ppapi2npapi compatibility layer
MIT License
726 stars 52 forks source link

Crash with chromeos flash #232

Open pgera opened 9 years ago

pgera commented 9 years ago

Trying to open a drm'ed page with chromeos flash crashes with the following error on the terminal: The config file has just the path.

firefox 

(process:18355): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(firefox:18355): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised

(firefox:18355): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised

(firefox:18355): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised

(firefox:18355): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised

(firefox:18355): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion 'targets != NULL' failed

(firefox:18355): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion 'targets != NULL' failed
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
NOT SANDBOXED
[fresh 18442] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(714)] Creating Pepper HW VideoDecoder
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(724)] Pepper HW VideoDecoder creation failed (perhaps not available).
[ERROR:flash/platform/pepper/pep_hw_video_decoder_ave.cpp(347)] CHECK(pepper::IsMainThread()) failed
Redirecting call to abort() to mozalloc_abort

Adding enable_hwdec = 1 still crashes but the output now looks like:

firefox 

(process:18676): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(firefox:18676): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised

(firefox:18676): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised

(firefox:18676): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised

(firefox:18676): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised

(firefox:18676): Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion 'targets != NULL' failed
libva info: VA-API version 0.35.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
NOT SANDBOXED
[fresh 18761] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(714)] Creating Pepper HW VideoDecoder
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(707)] Pepper HW VideoDecoder NotifyError=3.
[h264 @ 0x7f5d513dbc00] decode_slice_header error
[h264 @ 0x7f5d513dbc00] no frame!
[fresh] [error] decode_frame, error -1 while decoding frame
[fresh] [error] decode_frame, error -1 while decoding frame
[ERROR:flash/platform/pepper/pep_hw_video_decoder_ave.cpp(347)] CHECK(pepper::IsMainThread()) failed
Redirecting call to abort() to mozalloc_abort

Edit: I notice similarities with https://github.com/i-rinat/freshplayerplugin/issues/173

i-rinat commented 9 years ago

Hi. I've finally got an episodic access to a machine with nVidia graphics adapter, and tried some swf players there. Video is playing, and from Youtube player's stats I can tell even hardware decoding acceleration works fine with PepperFlash from ChromeOS.

Perhaps, issue arises from specific combination of particular version glitches. So, I need to copy as much of the environment as possible.

pgera commented 9 years ago

I haven't reproduced this issue since I reported the issue, but at that time I had used the master branch. I use Ubuntu 14.04, but I've enabled ubuntu-toolchain-r-test-trusty, otherwise freshplugin doesn't work. Unfortunately, the only website where I encountered this is US only and needs an account. If you are still interested in reproducing this on the same website, we can discuss the details offline.

i-rinat commented 9 years ago

If you are still interested in reproducing this on the same website

I don't think that will work anyhow, given you are not seeing that bug anymore.

pgera commented 9 years ago

I meant I gave up on that. I removed fresh plugin. I can check again if the bug exists. On Aug 31, 2015 4:27 PM, "Rinat Ibragimov" notifications@github.com wrote:

If you are still interested in reproducing this on the same website

I don't think that will work anyhow, given you are not seeing that bug anymore.

— Reply to this email directly or view it on GitHub https://github.com/i-rinat/freshplayerplugin/issues/232#issuecomment-136526862 .

i-rinat commented 9 years ago

I can check again if the bug exists.

It would be nice.

pgera commented 9 years ago

So I can still reproduce the error. I don't remember if the chromeos recovery image has a manifest.json file, but without a manifest.json, the built version was being reported as 13.x which the site didn't like. So I copied the manifest from chrome so that version appears as 18.x. The actual version of flash that i'm using from the recovery image is 17.0.0.188. Just thought I would mention it in case it's relevant.

i-rinat commented 9 years ago

Thank you for testing. I'll check the code again.

For some unknown reason PepperFlash checks whenever current thread is main on your machine, but doesn't check it on mine. Which is very odd, since it's the same binary.

pgera commented 9 years ago

I also did a quick test with intel graphics on the same machine and i get the crash on the same site. The error looks a bit different though. Not sure if freshplugin needs to be recompiled for different graphics card. Here's the error output of that:

(process:3509): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

(firefox:3509): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::sm-connect after class was initialised

(firefox:3509): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::show-crash-dialog after class was initialised

(firefox:3509): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::display after class was initialised

(firefox:3509): GLib-GObject-WARNING **: Attempt to add property GnomeProgram::default-icon after class was initialised
libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_36
libva info: va_openDriver() returns 0
Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory
NOT SANDBOXED
[fresh  3596] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "^M".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "^M".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "^M".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "^M".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(195)] Illegal HTTP header field: "User-Agent".
[WARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "^M".
[WARNING:flash/platform/pepper/pep_hw_video_decompressor_instance_ave.cpp(714)] Creating Pepper HW VideoDecoder
plugin-container: i965_drv_video.c:3490: i965_check_alloc_surface_bo: Assertion `obj_surface->bo' failed.
~                                                                                                         
i-rinat commented 8 years ago

Hello again. In relatively recent issue #266 it was found that Flash player uses multiple message loops in some conditions. But they are rare, and probably only some swf cause Flash to use them. That issue was fixed by 32e6d3fe9c387e87fdb96d5779e698814f9e46e1.

This particular bug is also have something with thread handling, so I've though that they may be related to each other. Could you check again?

i-rinat commented 8 years ago

I believe the issue was fixed by the message loop thread handling patch. Feel free to reopen or create a new issue if bug still persists.

pgera commented 8 years ago

Still able to reproduce this.

pgera commented 8 years ago

I also have a different failure (on a different site) with chromeos flash where there is audio but no video. I don't know if it's related, but the error for that is:

libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
NOT SANDBOXED
[fresh 14056] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 8
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] [NP] caught Xlib error 171
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[fresh] [error] ppb_graphics3d_create, glXMakeCurrent failed
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
".ARNING:flash/platform/pepper/pep_url_request_info.cpp(219)] Missing colon in HTTP header line "
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[fresh] [error] execute_script_ptac, NPN_Evaluate failed
[fresh] [error] execute_script_ptac, NPN_Evaluate failed
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
[WARNING:flash/platform/pepper/pep_player.cpp(437)] SVA enabled.
pgera commented 8 years ago

So I have some good news. I decided to try the latest chromeos pepperflash version (21), and that fixes the original bug. I am able to load the flash video. There is a lot of screen tearing though. This is the log from that:

firefox 

(firefox:16441): Gtk-WARNING **: Theme parsing error: linked-buttons.css:554:2: Missing name of pseudo-class

(firefox:16441): Gtk-WARNING **: Theme parsing error: linked-buttons.css:1097:2: Missing name of pseudo-class

** (firefox:16441): WARNING **: Can't load fallback CSS resource: Failed to import: The resource at '/org/gnome/adwaita/gtk-fallback.css' does not exist

** (firefox:16441): WARNING **: Can't load fallback CSS resource: Failed to import: The resource at '/org/gnome/adwaita/gtk-fallback.css' does not exist
console.error: fx_pnh: 
  Message: TypeError: gcli.addItems is not a function
  Stack:
    installCommands@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/commands.js:200:9
@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/main.js:15:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
run@resource://gre/modules/commonjs/sdk/addon/runner.js:147:19
startup/</<@resource://gre/modules/commonjs/sdk/addon/runner.js:87:9
Handler.prototype.process@resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise-backend.js:746:11

*************************
A coding exception was thrown in a Promise resolution callback.
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise

Full message: TypeError: gcli.addItems is not a function
Full stack: installCommands@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/commands.js:200:9
@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/main.js:15:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
run@resource://gre/modules/commonjs/sdk/addon/runner.js:147:19
startup/</<@resource://gre/modules/commonjs/sdk/addon/runner.js:87:9
Handler.prototype.process@resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise-backend.js:746:11

*************************
console.error: fx_pnh: 
  Message: TypeError: gcli.addItems is not a function
  Stack:
    installCommands@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/commands.js:200:9
@resource://jid1-cz1beofm9mmlzg-at-jetpack/fx_pnh/lib/main.js:15:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:79:18
run@resource://gre/modules/commonjs/sdk/addon/runner.js:147:19
startup/</<@resource://gre/modules/commonjs/sdk/addon/runner.js:87:9
Handler.prototype.process@resource://gre/modules/Promise-backend.js:933:23
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:812:7
this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise-backend.js:746:11

libva info: VA-API version 0.36.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_32
libva info: va_openDriver() returns 0
NOT SANDBOXED
[fresh 16537] not implemented: PPB_OpenGLES2VertexArrayObject;1.0
[fresh 16537] not implemented: PPB_OpenGLES2DrawBuffers(Dev);1.0
Vector smash protection is enabled.
[fresh 16537] not implemented: PPB_BrokerTrusted;0.3
[fresh 16537] not implemented: PPB_BrokerTrusted;0.3

The second issue of audio but no video on the other site still remains.