WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
194351
[GStreamer] Does not properly handle missing GStreamerGL at runtime
https://bugs.webkit.org/show_bug.cgi?id=194351
Summary
[GStreamer] Does not properly handle missing GStreamerGL at runtime
hschoepel@gmail.com
Reported
2019-02-06 11:26:35 PST
Dear ladies & gentlemen, I use Linux Gnome 3 Webbrowser "GNOME Web" (previously "Epiphany") and it's crashing every time i try to play an embedded html video. The only solution is to use the cli and kill the process by using kill -9. I was talking already to the Epiphany developer regarding this strange plugins behavior and i will fill another bug on WebKitGTK+ Bugzilla. Operating System: Debian Linux ( Sid ) Desktop Environment: Gnome 3 Epiphany Version: 3.30.3 Webkit Version: WebKitGTK+ 2.22.5 Gstreamer Version:
https://paste.gnome.org/pnys7qf8x
Terminal output: henrik@debian:~$ epiphany Error scanning plugin /usr/lib/jvm/oracle-java8-jre-amd64/lib/amd64/libnpjp2.so, /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitPluginProcess returned 11 exit status ** (WebKitWebProcess:28441): WARNING **: 19:08:44.386: WebKit wasn't able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin. ** (WebKitWebProcess:28441): WARNING **: 19:08:44.621: WebKit wasn't able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin. ** (WebKitWebProcess:28441): WARNING **: 19:08:45.105: WebKit wasn't able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin. ** (WebKitWebProcess:28441): WARNING **: 19:08:45.315: WebKit wasn't able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can't be enabled without this plugin. ^C Example Test websites:
https://www.welt.de/politik/deutschland/article188362265/Weimar-Bundespraesident-Steinmeier-will-demokratischen-Patriotismus.html
https://www.welt.de/politik/ausland/article188356435/Donald-Tusk-Besonderer-Platz-in-der-Hoelle-fuer-Brexit-Befuerworter.html
Troubleshooting steps: - check if plugins are enabled / disabled. The are by default set to "false" gsettings get org.gnome.Epiphany.web:/org/gnome/epiphany/web/ enable-plugins false - Verified if other gstreamer plugins are needed to fix the Hardware-acceleration output: Apt-Cache search didn't provide any other useful packages. Installed packages are shown up in the link. - Test on other websites: Also happens on Youtube, Financial Times... Best regards, Henrik
Attachments
Add attachment
proposed patch, testcase, etc.
hschoepel@gmail.com
Comment 1
2019-02-06 11:30:38 PST
I would like to add that it's hanging/freezing, not crashing. Best regards, Henrik
Philippe Normand
Comment 2
2019-02-07 04:28:56 PST
Can you please make sure you installed gstreamer1.0-gl ?
Philippe Normand
Comment 3
2019-02-07 07:27:58 PST
(In reply to
hschoepel@gmail.com
from
comment #1
)
> I would like to add that it's hanging/freezing, not crashing. >
A patch is needed to fix this. Some observations: - no one checks the return value of createVideoSink() - createGSTPlayBin() has no return value, emits no error
Philippe Normand
Comment 4
2019-02-07 08:15:19 PST
I removed my libgstopengl.so and loaded a video in MiniBrowser. Got the warning, but playback started (video rendering works, abeit slowly of course). No freeze/hang.
hschoepel@gmail.com
Comment 5
2019-02-07 11:51:07 PST
Hello Philippe, Thank you very much for your support. I just installed gstreamer1.0-gl ii gstreamer1.0-gl:amd64 1.14.4-1 The "Hardware-accelerated" error is gone now. Watching embedded Videos on welt.de ( newspaper ) or youtube works excellent now. It's lagging for 1-2 seconds if i switch between window-mode to fullscreen at the beginning but that's "ok". I think gstreamer-gl should be a dependency package if Epiphany will be installed. Best regards, Henrik
Philippe Normand
Comment 6
2019-02-07 12:21:33 PST
gstreamer1.0-gl is already in the Recommends: field of the webkit2gtk package. I'm not sure about making it a hard requirement because without it video playback should still work, and I verified that today ;)
Michael Catanzaro
Comment 7
2019-02-07 13:02:55 PST
Henrik, can you confirm that installing the gstreamer1.0-gl package fixed the UI process hang you had been experiencing? It's the entire browser that freezes up so you can't use menus or anything anymore, not just one particular tab?
hschoepel@gmail.com
Comment 8
2019-02-08 03:31:59 PST
Hello, Yes i can confirm that the freeze/hangs after installing the gstreamer1.0-gl package are gone. Epiphany is stable now and plays all kind of videos nicely. Tested bunch of websites and videos. And yes, i also confirm that entire browser got frozen up and couldn't use menus or anything else browser related anymore. Only solution was to hard kill the process via cli. Best regards, Henrik
Michael Catanzaro
Comment 9
2019-02-08 08:26:51 PST
So that's a security bug then. Probably some UI process call somewhere is not prepared for the web process to become unresponsive.
Michael Catanzaro
Comment 10
2019-06-24 11:49:26 PDT
(In reply to Philippe Normand from
comment #3
)
> A patch is needed to fix this. Some observations: > > - no one checks the return value of createVideoSink() > - createGSTPlayBin() has no return value, emits no error
So these are concrete action items we know how to fix, that's good. (In reply to Michael Catanzaro from
comment #9
)
> So that's a security bug then. Probably some UI process call somewhere is > not prepared for the web process to become unresponsive.
Shame we don't know what's causing this.
Philippe Normand
Comment 11
2019-07-25 04:01:39 PDT
(In reply to Michael Catanzaro from
comment #10
)
> (In reply to Philippe Normand from
comment #3
) > > A patch is needed to fix this. Some observations: > > > > - no one checks the return value of createVideoSink() > > - createGSTPlayBin() has no return value, emits no error > > So these are concrete action items we know how to fix, that's good. >
Well actually, createVideoSink() should always return a valid sink pointer and there's an ASSERT for that. So nothing to fix there, it is implemented as expected. Then createGSTPlayBin() doesn't need a return value either. I think this bug should be closed.
Michael Catanzaro
Comment 12
2019-07-25 06:29:28 PDT
But the bug is that missing GStreamerGL causes *UI process hangs* and that hasn't been investigated?
Philippe Normand
Comment 13
2019-07-25 06:40:55 PDT
(In reply to Michael Catanzaro from
comment #12
)
> But the bug is that missing GStreamerGL causes *UI process hangs* and that > hasn't been investigated?
As stated in
comment 4
I can't reproduce that "UI process hang".
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug