<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>194351</bug_id>
          
          <creation_ts>2019-02-06 11:26:35 -0800</creation_ts>
          <short_desc>[GStreamer] Does not properly handle missing GStreamerGL at runtime</short_desc>
          <delta_ts>2019-07-25 06:55:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc>https://wiki.gnome.org/Apps/Web</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="hschoepel@gmail.com">hschoepel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1503400</commentid>
    <comment_count>0</comment_count>
    <who name="hschoepel@gmail.com">hschoepel</who>
    <bug_when>2019-02-06 11:26:35 -0800</bug_when>
    <thetext>Dear ladies &amp; gentlemen,

I use Linux Gnome 3 Webbrowser &quot;GNOME Web&quot; (previously &quot;Epiphany&quot;) and it&apos;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&apos;t able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can&apos;t be enabled without this plugin.
** (WebKitWebProcess:28441): WARNING **: 19:08:44.621: WebKit wasn&apos;t able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can&apos;t be enabled without this plugin.
** (WebKitWebProcess:28441): WARNING **: 19:08:45.105: WebKit wasn&apos;t able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can&apos;t be enabled without this plugin.
** (WebKitWebProcess:28441): WARNING **: 19:08:45.315: WebKit wasn&apos;t able to find the GStreamer opengl plugin. Hardware-accelerated zero-copy video rendering can&apos;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 &quot;false&quot;
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&apos;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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503402</commentid>
    <comment_count>1</comment_count>
    <who name="hschoepel@gmail.com">hschoepel</who>
    <bug_when>2019-02-06 11:30:38 -0800</bug_when>
    <thetext>I would like to add that it&apos;s hanging/freezing, not crashing.

Best regards,
Henrik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503702</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-02-07 04:28:56 -0800</bug_when>
    <thetext>Can you please make sure you installed gstreamer1.0-gl ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503717</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-02-07 07:27:58 -0800</bug_when>
    <thetext>(In reply to hschoepel@gmail.com from comment #1)
&gt; I would like to add that it&apos;s hanging/freezing, not crashing.
&gt; 

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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503729</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-02-07 08:15:19 -0800</bug_when>
    <thetext>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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503855</commentid>
    <comment_count>5</comment_count>
    <who name="hschoepel@gmail.com">hschoepel</who>
    <bug_when>2019-02-07 11:51:07 -0800</bug_when>
    <thetext>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 &quot;Hardware-accelerated&quot; error is gone now. Watching embedded Videos on welt.de ( newspaper ) or youtube works excellent now. It&apos;s lagging for 1-2 seconds if i switch between window-mode to fullscreen at the beginning but that&apos;s &quot;ok&quot;.

I think gstreamer-gl should be a dependency package if Epiphany will be installed.

Best regards,
Henrik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503873</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-02-07 12:21:33 -0800</bug_when>
    <thetext>gstreamer1.0-gl is already in the Recommends: field of the webkit2gtk package. I&apos;m not sure about making it a hard requirement because without it video playback should still work, and I verified that today ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503884</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-07 13:02:55 -0800</bug_when>
    <thetext>Henrik, can you confirm that installing the gstreamer1.0-gl package fixed the UI process hang you had been experiencing? It&apos;s the entire browser that freezes up so you can&apos;t use menus or anything anymore, not just one particular tab?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504151</commentid>
    <comment_count>8</comment_count>
    <who name="hschoepel@gmail.com">hschoepel</who>
    <bug_when>2019-02-08 03:31:59 -0800</bug_when>
    <thetext>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&apos;t use menus or anything else browser related anymore. Only solution was to hard kill the process via cli.

Best regards,
Henrik</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504172</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-02-08 08:26:51 -0800</bug_when>
    <thetext>So that&apos;s a security bug then. Probably some UI process call somewhere is not prepared for the web process to become unresponsive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547448</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-24 11:49:26 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #3)
&gt; A patch is needed to fix this. Some observations:
&gt; 
&gt; - no one checks the return value of createVideoSink()
&gt; - createGSTPlayBin() has no return value, emits no error

So these are concrete action items we know how to fix, that&apos;s good.

(In reply to Michael Catanzaro from comment #9)
&gt; So that&apos;s a security bug then. Probably some UI process call somewhere is
&gt; not prepared for the web process to become unresponsive.

Shame we don&apos;t know what&apos;s causing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555757</commentid>
    <comment_count>11</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-25 04:01:39 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; (In reply to Philippe Normand from comment #3)
&gt; &gt; A patch is needed to fix this. Some observations:
&gt; &gt; 
&gt; &gt; - no one checks the return value of createVideoSink()
&gt; &gt; - createGSTPlayBin() has no return value, emits no error
&gt; 
&gt; So these are concrete action items we know how to fix, that&apos;s good.
&gt; 

Well actually, createVideoSink() should always return a valid sink pointer and there&apos;s an ASSERT for that. So nothing to fix there, it is implemented as expected.

Then createGSTPlayBin() doesn&apos;t need a return value either.

I think this bug should be closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555763</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-07-25 06:29:28 -0700</bug_when>
    <thetext>But the bug is that missing GStreamerGL causes *UI process hangs* and that hasn&apos;t been investigated?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1555768</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-25 06:40:55 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #12)
&gt; But the bug is that missing GStreamerGL causes *UI process hangs* and that
&gt; hasn&apos;t been investigated?

As stated in comment 4 I can&apos;t reproduce that &quot;UI process hang&quot;.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>