<?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>188036</bug_id>
          
          <creation_ts>2018-07-25 22:04:26 -0700</creation_ts>
          <short_desc>Consecutive DumpRenderTree crash on WinCairo BuildBots</short_desc>
          <delta_ts>2018-12-06 18:31:08 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=192486</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>188160</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>lforschler</cc>
    
    <cc>ross.kirsling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1445301</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-25 22:04:26 -0700</bug_when>
    <thetext>Consecutive DumpRenderTree crash on WinCairo BuildBots

It happens occasionally on both test bots:

- WinCairo 64-bit WKL Release (Tests)
- WinCairo 64-bit WKL Debug (Tests)

For example:
https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/738/steps/layout-test/logs/stdio

&gt; 17:42:28.538 108568 Looking at [u&apos;C:\\WebKit-BuildWorker\\wincairo-wkl-release-tests\\build\\WebKitBuild\\Release\\bin64\\DumpRenderTree.exe&apos;, &apos;-&apos;]
&gt; 17:42:28.637 108568 This test marked as a crash because of failure to poll the server process.
&gt; 17:42:28.638 108568 looking for crash log for DumpRenderTree:104304
&gt; 17:42:28.640 108568 Looking at [u&apos;C:\\WebKit-BuildWorker\\wincairo-wkl-release-tests\\build\\WebKitBuild\\Release\\bin64\\DumpRenderTree.exe&apos;, &apos;-&apos;]
&gt; 17:42:28.743 108568 This test marked as a crash because of failure to poll the server process.
&gt; 17:42:28.743 108568 looking for crash log for DumpRenderTree:89312
&gt; 17:42:28.743 108568 worker/7 fast\css\variables\env\safe-area-inset-env-zero.html crashed, (no stderr)
&gt; 17:42:28.752 118408 [8638/15300] fast\css\variables\env\safe-area-inset-env-zero.html failed unexpectedly (DumpRenderTree crashed [pid=104304])
&gt; 17:42:28.751 108568 worker/7 killing driver
&gt; 17:42:28.753 108568 worker/7 fast\css\variables\env\safe-area-inset-env-zero.html failed:
&gt; 17:42:28.753 108568 worker/7  DumpRenderTree crashed [pid=104304]
&gt; 17:42:28.767 108568 Looking at [u&apos;C:\\WebKit-BuildWorker\\wincairo-wkl-release-tests\\build\\WebKitBuild\\Release\\bin64\\DumpRenderTree.exe&apos;, &apos;-&apos;]
&gt; 17:42:28.882 108568 This test marked as a crash because of failure to poll the server process.
&gt; 17:42:28.882 108568 looking for crash log for DumpRenderTree:105088
&gt; 17:42:28.885 108568 Looking at [u&apos;C:\\WebKit-BuildWorker\\wincairo-wkl-release-tests\\build\\WebKitBuild\\Release\\bin64\\DumpRenderTree.exe&apos;, &apos;-&apos;]
&gt; 17:42:28.996 108568 This test marked as a crash because of failure to poll the server process.
&gt; 17:42:28.996 108568 looking for crash log for DumpRenderTree:67916
&gt; 17:42:28.996 108568 worker/7 fast\css\will-change\will-change-creates-stacking-context-inline.html crashed, (no stderr)
&gt; 17:42:29.015 118408 [8645/15300] fast\css\will-change\will-change-creates-stacking-context-inline.html failed unexpectedly (DumpRenderTree crashed [pid=105088])
&gt; 17:42:29.004 108568 worker/7 killing driver
&gt; 17:42:29.005 108568 worker/7 fast\css\will-change\will-change-creates-stacking-context-inline.html failed:
&gt; 17:42:29.005 108568 worker/7  DumpRenderTree crashed [pid=105088]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445303</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-25 22:14:10 -0700</bug_when>
    <thetext>I can&apos;t reproduce this issue on my bare Windows PC.
However, it&apos;s easy to reproduce with Windows Docker on my PC.

&gt; docker run --name build -it --cpu-count=8 --memory=16g webkitdev/msbuild powershell
&gt; 
&gt; Select-VSEnvironment
&gt; 
&gt; $env:http_proxy = &quot;http://...&quot;
&gt; $env:https_proxy = $env:http_proxy
&gt; 
&gt; git clone --depth=1 https://git.webkit.org/git/WebKit.git
&gt; cd WebKit
&gt; perl Tools\Scripts\build-webkit --wincairo
&gt; 
&gt; rm env:http_proxy
&gt; rm env:https_proxy
&gt; $env:WEBKIT_LIBRARIES = (gl).path + &quot;\WebKitLibraries\win&quot;
&gt; python ./Tools/Scripts/run-webkit-tests --no-build --no-show-results --no-new-test-results --exit-after-n-crashes-or-timeouts 50 --exit-after-n-failures 500 --release --dump-render-tree --wincairo --debug-rwt-logging


&quot;docker run&quot; frequently fails &quot;hcsshim: timeout waiting&quot; error on my PC. I need to try it repeatedly to start a Docker container.

Cannot run container with more than 3GB memory · Issue #1094 · docker/for-win
https://github.com/docker/for-win/issues/1094

hcsshim: timeout waiting for notification extra info · Issue #152 · Microsoft/hcsshim
https://github.com/Microsoft/hcsshim/issues/152</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445305</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-25 22:19:41 -0700</bug_when>
    <thetext>It seems that one possible workaround is limit the number of CPU as 1. 
Pass --cpu-count=1 to docker, or --child-processes=1 to run-webkit-tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445656</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-26 22:43:52 -0700</bug_when>
    <thetext>https://github.com/WebKit/webkit/blob/master/Tools/Scripts/webkitpy/port/server_process.py#L325

poll() returns -4 in that case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445671</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-27 00:13:57 -0700</bug_when>
    <thetext>I applied a patch to show returncode to trunk@234190.
Here are the patch and the log.
https://gist.github.com/fujii/92f167fe59c231247d39ded503320bd8

There are two values of returncode, -1073741819 and -4.

&gt; 15:48:38.313 3196 This test marked as a crash because of failure to poll the server process. returncode=-1073741819
&gt; 15:48:47.289 24964 This test marked as a crash because of failure to poll the server process. returncode=-1073741819
&gt; 15:50:09.235 9780 This test marked as a crash because of failure to poll the server process. returncode=-4
&gt; 15:50:09.471 9780 This test marked as a crash because of failure to poll the server process. returncode=-4

-4 is the reurncode of consecutive DumpRenderTree crash.

returncode should be the valud of GetExitCodeProcess.
It&apos;s weird it is a negative value.
Looking though Python-2.7.15 source code, I can&apos;t find the code it makes negative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445672</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-27 00:33:13 -0700</bug_when>
    <thetext>https://github.com/python/cpython/blob/d098098ce1dcb02d18571551654cbe7b92d291a4/PC/_subprocess.c#L549
https://github.com/python/cpython/blob/d098098ce1dcb02d18571551654cbe7b92d291a4/Include/intobject.h#L38

&gt; return PyInt_FromLong(exit_code);

This code converts DWORD to long. It can make a negative value.
If that true, exit code given by GetExitCodeProcess were fffffffc (-4) or c0000005 (-1073741819).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1445677</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-27 00:48:09 -0700</bug_when>
    <thetext>https://stackoverflow.com/questions/17168982/exception-error-c0000005-in-vc

According to the above page, c0000005 means access violation.

Exit code -4 (0xfffffffc) - BOINC Wiki
https://boinc.mundayweb.com/wiki/index.php?title=Exit_code_-4_(0xfffffffc)

&gt; This error notifies you of problems with your page file. It may be accompanied by &quot;Project Application Name&quot; error -4 Can&apos;t allocate memory.

It seems that -4 means page allocation failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1450267</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-08-15 04:01:19 -0700</bug_when>
    <thetext>A env var WEBKIT_TEST_CHILD_PROCESSES=2 is set on test bots to avoid this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473550</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-30 18:17:32 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #7)
&gt; A env var WEBKIT_TEST_CHILD_PROCESSES=2 is set on test bots to avoid this
&gt; issue.

This change has solved the issue.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>