Bug 92894

Summary: nrwt: reenable the test for --verbose working in child processes
Product: WebKit Reporter: Dirk Pranke <dpranke>
Component: New BugsAssignee: Dirk Pranke <dpranke>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, eric, ojan, rniwa, roger_fong, tmpsantos, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
delete unneeded blank lines in test none

Description Dirk Pranke 2012-08-01 11:56:05 PDT
nrwt: reenable the test for --verbose working in child processes
Comment 1 Dirk Pranke 2012-08-01 11:57:55 PDT
Created attachment 155852 [details]
Patch
Comment 2 Dirk Pranke 2012-08-01 11:59:03 PDT
Created attachment 155853 [details]
delete unneeded blank lines in test
Comment 3 Ryosuke Niwa 2012-08-01 12:03:22 PDT
Comment on attachment 155853 [details]
delete unneeded blank lines in test

rs=me.
Comment 4 WebKit Review Bot 2012-08-01 14:27:17 PDT
Comment on attachment 155853 [details]
delete unneeded blank lines in test

Clearing flags on attachment: 155853

Committed r124370: <http://trac.webkit.org/changeset/124370>
Comment 5 WebKit Review Bot 2012-08-01 14:27:22 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Roger Fong 2012-10-05 13:01:21 PDT
Hi again Dirk!

This test seems to be somehow flaky on the Windows bots from time to time.

I get this message: 
OSError raised: [Errno 17] File exists
[961/1585] webkitpy.layout_tests.run_webkit_tests_integrationtest.MainTest.test_verbose_in_child_processes erred:
  Traceback (most recent call last):
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 934, in test_verbose_in_child_processes
      res = run_webkit_tests.run(port_obj, options, parsed_args, buildbot_output=buildbot_output, regular_output=regular_output)
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 110, in run
      unexpected_result_count = manager.run(args)
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 411, in run
      self._run_tests(self._test_names, result_summary, int(self._options.child_processes))
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 464, in _run_tests
      return self._runner.run_tests(test_inputs, self._expectations, result_summary, num_workers, needs_http, needs_websockets, self._retrying)
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 141, in run_tests
      with message_pool.get(self, self._worker_factory, num_workers, self._port.worker_startup_delay_secs(), self._port.host) as pool:
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/common/message_pool.py", line 61, in get
      return _MessagePool(caller, worker_factory, num_workers, worker_startup_delay_secs, host)
    File "/home/buildbot/slave/win-release-tests/build/Tools/Scripts/webkitpy/common/message_pool.py", line 79, in __init__
      self._messages_to_worker = multiprocessing.Queue()
    File "/usr/lib/python2.6/multiprocessing/__init__.py", line 213, in Queue
      return Queue(maxsize)
    File "/usr/lib/python2.6/multiprocessing/queues.py", line 37, in __init__
      self._rlock = Lock()
    File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 117, in __init__
      SemLock.__init__(self, SEMAPHORE, 1, 1)
    File "/usr/lib/python2.6/multiprocessing/synchronize.py", line 49, in __init__
      sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
  OSError: [Errno 17] File exists
  
Do you know why this could be failing, it never seems to fail locally.

Also, I don't know when this started failing but last week Lucas and I set child-processes to 1 when running webkitpy tests because sometimes the tests wouldn't run at all with multiple processes.
See https://bugs.webkit.org/show_bug.cgi?id=97465
Do you think that that change could be causing problems?

Thanks!
Comment 7 Dirk Pranke 2012-10-05 13:13:55 PDT
If you see line 280 in run_webkit_tests_integrationtest.py you'll see that there is a comment about multi-process tests being generally flaky on cygwin, and the intent is to skip the tests that require this there. We should probably add this test to that list by wrapping the whole test in an 'if self.should_test_child_processes' block like we have elsewhere in the file.