<?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>137725</bug_id>
          
          <creation_ts>2014-10-14 17:08:32 -0700</creation_ts>
          <short_desc>layout test on EFL buildbot is too often broken</short_desc>
          <delta_ts>2015-09-24 07:16:57 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1041731</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-14 17:08:32 -0700</bug_when>
    <thetext>Layout test has been broken though I restart buildbot very often. It looks apache server is too often locked after layout test ran many times.
Need to fix this problem !


16:53:14.728 14762 Using port &apos;efl&apos;
16:53:14.728 14762 Test configuration: &lt;, x86, release&gt;
16:53:14.728 14762 Placing test results in /home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/layout-test-results
16:53:14.728 14762 Baseline search path: efl -&gt; wk2 -&gt; generic
16:53:14.728 14762 Using Release build
16:53:14.728 14762 Pixel tests disabled
16:53:14.728 14762 Regular timeout: 35000, slow test timeout: 175000
16:53:14.765 14762 &quot;perl Tools/Scripts/webkit-build-directory --configuration --release --efl&quot; took 0.04s
16:53:14.765 14762 Command line: /home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/jhbuild/jhbuild-wrapper --efl run /home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/WebKitBuild/Release/bin/WebKitTestRunner -
16:53:14.765 14762 
16:53:14.765 14762 Collecting tests ...
16:53:16.245 14762 Parsing expectations ...
16:53:23.550 14762 Found 38184 tests; running 30186, skipping 7998.
16:53:23.550 14762 Checking build ...
16:53:23.600 14762 &quot;Tools/Scripts/build-dumprendertree --release --efl&quot; took 0.04s
16:53:23.600 14762 Output of [&apos;Tools/Scripts/build-dumprendertree&apos;, &apos;--release&apos;, &apos;--efl&apos;]:
16:53:23.646 14762 &quot;Tools/Scripts/build-webkittestrunner --release --efl&quot; took 0.05s
16:53:23.646 14762 Output of [&apos;Tools/Scripts/build-webkittestrunner&apos;, &apos;--release&apos;, &apos;--efl&apos;]:
16:53:23.647 14762 Starting helper ...
16:53:23.647 14762 Checking system dependencies ...
16:53:23.687 14762 &quot;/usr/sbin/apache2 -v&quot; took 0.02s
16:53:23.767 14762 &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/jhbuild/jhbuild-wrapper --efl run which Xvfb&quot; took 0.08s
16:53:23.832 14762 Expect: 29170 passes   (29170 now,    0 wontfix)
16:53:23.833 14762 Expect:   659 failures (  658 now,    1 wontfix)
16:53:23.833 14762 Expect:   357 flaky    (  357 now,    0 wontfix)
16:53:23.833 14762 
16:53:23.920 14762 Sharding tests ...
16:53:23.936 14762 Acquiring http lock ...
16:53:23.937 14762 Creating lock file: /tmp/WebKitHttpd.lock.34
16:53:23.939 14762 Retrieving current lock pid from /tmp/WebKitHttpd.lock.33
16:53:23.939 14762 Checking current lock on pid 12032
16:53:23.939 14762 Removing stuck lock file: /tmp/WebKitHttpd.lock.33
16:53:24.943 14762 Retrieving current lock pid from /tmp/WebKitHttpd.lock.34
16:53:24.944 14762 Checking current lock on pid 14762
16:53:24.944 14762 HTTP lock acquired
16:53:24.944 14762 Starting HTTP server ...
16:53:24.986 14762 &quot;/usr/sbin/apache2 -v&quot; took 0.04s
16:53:25.019 14762 &quot;/usr/sbin/apache2 -v&quot; took 0.03s
16:53:25.020 14762 Starting httpd server, cmd=&quot;/usr/sbin/apache2 -f &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/layout-test-results/httpd.conf&quot; -C &apos;DocumentRoot &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/LayoutTests/http/tests&quot;&apos; -c &apos;Alias /js-test-resources &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/LayoutTests/resources&quot;&apos; -c &apos;Alias /media-resources &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/LayoutTests/media&quot;&apos; -c &apos;TypesConfig &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/LayoutTests/http/conf/mime.types&quot;&apos; -c &apos;CustomLog &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/layout-test-results/access_log.txt&quot; common&apos; -c &apos;ErrorLog &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/layout-test-results/error_log.txt&quot;&apos; -C &apos;User &quot;buildbot&quot;&apos; -c &apos;PidFile /tmp/WebKit/httpd.pid&apos; -k start -C &apos;Listen 127.0.0.1:8000&apos; -C &apos;Listen [::1]:8000&apos; -C &apos;Listen 127.0.0.1:8080&apos; -C &apos;Listen [::1]:8080&apos; -C &apos;Listen 127.0.0.1:8443&apos; -C &apos;Listen [::1]:8443&apos; -c &apos;StartServers 2&apos; -c &apos;MinSpareServers 2&apos; -c &apos;MaxSpareServers 2&apos; -c &apos;SSLCertificateFile /home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/LayoutTests/http/conf/webkit-httpd.pem&apos;&quot;
16:53:25.041 14762 Waiting for action: &lt;function &lt;lambda&gt; at 0x7f9fb4369848&gt;
16:53:26.043 14762 Server isn&apos;t running at all
16:53:26.043 14762 Flushing stdout
16:53:26.043 14762 Flushing stderr
16:53:26.043 14762 Stopping helper
16:53:26.043 14762 Cleaning up port

ServerError raised: Server exited
Traceback (most recent call last):
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 80, in main
    run_details = run(port, options, args, stderr)
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 419, in run
    run_details = manager.run(args)
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 200, in run
    int(self._options.child_processes), retrying=False)
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 257, in _run_tests
    return self._runner.run_tests(self._expectations, test_inputs, tests_to_skip, num_workers, needs_http, needs_websockets, retrying)
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 120, in run_tests
    self.start_servers_with_lock(2 * min(num_workers, len(locked_shards)))
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 205, in start_servers_with_lock
    self._port.start_http_server(number_of_servers=number_of_servers)
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/port/base.py&quot;, line 888, in start_http_server
    server.start()
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/servers/http_server_base.py&quot;, line 92, in start
    if self._wait_for_action(self._is_server_running_on_all_ports):
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/servers/http_server_base.py&quot;, line 174, in _wait_for_action
    if action():
  File &quot;/home/buildslave/efl-buildslave-2/efl-linux-64-release-wk2/build/Tools/Scripts/webkitpy/layout_tests/servers/http_server_base.py&quot;, line 185, in _is_server_running_on_all_ports
    raise ServerError(&quot;Server exited&quot;)
ServerError: Server exited
program finished with exit code 254
elapsedTime=11.567065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047789</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-11-11 00:16:30 -0800</bug_when>
    <thetext>It fails again. I checked the apache log on the bot:
https://build.webkit.org/results/EFL%20Linux%2064-bit%20Release%20WK2/r175842%20%2817555%29/error_log.txt

[Mon Nov 10 17:27:53.699810 2014] [core:crit] [pid 22702] (28)No space left on device: AH00001: unable to create or access scoreboard &quot;/tmp/WebKit/httpd.scoreboard&quot; (name-based shared memory failure)

It seems the free space is leaking on the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048039</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-11-11 17:10:37 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; It fails again. I checked the apache log on the bot:
&gt; https://build.webkit.org/results/EFL%20Linux%2064-bit%20Release%20WK2/
&gt; r175842%20%2817555%29/error_log.txt
&gt; 
&gt; [Mon Nov 10 17:27:53.699810 2014] [core:crit] [pid 22702] (28)No space left
&gt; on device: AH00001: unable to create or access scoreboard
&gt; &quot;/tmp/WebKit/httpd.scoreboard&quot; (name-based shared memory failure)
&gt; 
&gt; It seems the free space is leaking on the bot.

I found an article which deals with this problem.It looks this problem can occur when shared memory isn&apos;t freed up. 

http://www.kattare.com/docs/faq_view/702/apache-file-exists-unable-to-create-scoreboard-name-based-shared-memory-failure.html

However I don&apos;t know how to fix this problem without my manual fix whenever this problem happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048107</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-11-11 23:00:47 -0800</bug_when>
    <thetext>I remember that we have not the same, but a similar problem long long
ago in the QtWebKit era with leaking semaphores and shared memory.
It wasn&apos;t related to apache, but buggy IPC implementation.

Until the proper fix, we had a magic script to clean up 
trashes regularly with a cron job:
ipcs -m| awk &apos;{ print $2 }&apos;|xargs ipcrm shm &gt;/dev/null
ipcs -s| awk &apos;{ print $2 }&apos;|xargs ipcrm sem &gt;/dev/null

I&apos;m not sure if it is too safe, but it worked, I can&apos;t
remember if it removed a neccessary thing ever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048669</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-11-13 22:16:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I remember that we have not the same, but a similar problem long long
&gt; ago in the QtWebKit era with leaking semaphores and shared memory.
&gt; It wasn&apos;t related to apache, but buggy IPC implementation.
&gt; 
&gt; Until the proper fix, we had a magic script to clean up 
&gt; trashes regularly with a cron job:
&gt; ipcs -m| awk &apos;{ print $2 }&apos;|xargs ipcrm shm &gt;/dev/null
&gt; ipcs -s| awk &apos;{ print $2 }&apos;|xargs ipcrm sem &gt;/dev/null
&gt; 
&gt; I&apos;m not sure if it is too safe, but it worked, I can&apos;t
&gt; remember if it removed a neccessary thing ever.

Ossy, I increased shared memory on EFL buildbot yesterday. In /etc/sysctl.conf file, I set &quot;kernel.shmmax&quot; with &quot;4294967296&quot; (4GB).

So now layout test on EFL buildbot looks fine until now. Let&apos;s see that this fix can solve this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053776</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-09 07:07:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I remember that we have not the same, but a similar problem long long
&gt; ago in the QtWebKit era with leaking semaphores and shared memory.
&gt; It wasn&apos;t related to apache, but buggy IPC implementation.
&gt; 
&gt; Until the proper fix, we had a magic script to clean up 
&gt; trashes regularly with a cron job:
&gt; ipcs -m| awk &apos;{ print $2 }&apos;|xargs ipcrm shm &gt;/dev/null
&gt; ipcs -s| awk &apos;{ print $2 }&apos;|xargs ipcrm sem &gt;/dev/null

Ossy, I set up a crontab using above commands for now. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054698</commentid>
    <comment_count>6</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-12-11 17:03:46 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; I remember that we have not the same, but a similar problem long long
&gt; &gt; ago in the QtWebKit era with leaking semaphores and shared memory.
&gt; &gt; It wasn&apos;t related to apache, but buggy IPC implementation.
&gt; &gt; 
&gt; &gt; Until the proper fix, we had a magic script to clean up 
&gt; &gt; trashes regularly with a cron job:
&gt; &gt; ipcs -m| awk &apos;{ print $2 }&apos;|xargs ipcrm shm &gt;/dev/null
&gt; &gt; ipcs -s| awk &apos;{ print $2 }&apos;|xargs ipcrm sem &gt;/dev/null
&gt; 
&gt; Ossy, I set up a crontab using above commands for now. Thanks.

This workaround fix seems to work well ! Thanks.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>