<?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>197056</bug_id>
          
          <creation_ts>2019-04-18 07:18:10 -0700</creation_ts>
          <short_desc>[GTK] Behaves in weird ways when under &quot;low memory&quot;</short_desc>
          <delta_ts>2019-04-25 04:08:43 -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>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></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="Bastien Nocera">bugzilla</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1528448</commentid>
    <comment_count>0</comment_count>
    <who name="Bastien Nocera">bugzilla</who>
    <bug_when>2019-04-18 07:18:10 -0700</bug_when>
    <thetext>Opening a new page when the system is low enough on memory leads to a &quot;Blank page&quot; instead of opening the &quot;Most visited&quot; page. The progress bar that shows the progress loading the new tab is stuck at around 10%, the URL bar is empty, and closing the tab takes up to 5 seconds, which points to the WebProcesses not responding (or not being started).

epiphany-3.32.1.2-1.fc30.x86_64
webkit2gtk3-2.24.1-1.fc30.x86_64

In epiphany, the process-model is one-secondary-process-per-web-view, and max-processes to 5. The problem can be reproduced by opening loads of tabs until the problems occur. There&apos;s no warnings or anything else in the journal.

I can provide more information if there is some runtime debug I can enable to make WebKit spit out information from the WebProcess, such as their stdout/stderr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529223</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-22 04:59:37 -0700</bug_when>
    <thetext>Would it be possible to get a bt of the WebProcess when that happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529256</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-22 09:06:19 -0700</bug_when>
    <thetext>My theory is there&apos;s not enough memory to launch a new web process, so we can&apos;t show an error page because we need a new web process to show an error page.

Or: could be the web process is being launched, crashes due to OOM, and then gets relaunched again continuously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530342</commentid>
    <comment_count>3</comment_count>
    <who name="Bastien Nocera">bugzilla</who>
    <bug_when>2019-04-25 03:01:47 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; My theory is there&apos;s not enough memory to launch a new web process, so we
&gt; can&apos;t show an error page because we need a new web process to show an error
&gt; page.
&gt; 
&gt; Or: could be the web process is being launched, crashes due to OOM, and then
&gt; gets relaunched again continuously.

It&apos;s not crashing or getting killed due to OOM, because I&apos;d see that in the journal. It&apos;s (probably) silently not able to launch new WebProcesses, because of resource limitation. I have no way to know which resource is missing because I have no way to make WebKit spit out information about this failure.

(In reply to Carlos Garcia Campos from comment #1)
&gt; Would it be possible to get a bt of the WebProcess when that happens?

It&apos;s not a crash or a hang. If it were a hang, I don&apos;t know how I&apos;d identify which one of the processes was associated with the the tab in question.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530344</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-25 03:22:45 -0700</bug_when>
    <thetext>We have:

g_error(&quot;Unable to fork a new child process: %s&quot;, error-&gt;message);

when g_subprocess_launcher_spawnv fails.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530350</commentid>
    <comment_count>5</comment_count>
    <who name="Bastien Nocera">bugzilla</who>
    <bug_when>2019-04-25 04:08:43 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #4)
&gt; We have:
&gt; 
&gt; g_error(&quot;Unable to fork a new child process: %s&quot;, error-&gt;message);
&gt; 
&gt; when g_subprocess_launcher_spawnv fails.

That didn&apos;t show up in my logs either. Could the controlling process be running out of file descriptors instead?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>