Bug 63842 - Python tests are failing on leopard
Summary: Python tests are failing on leopard
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Dirk Pranke
URL: http://build.webkit.org/builders/Leop...
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-01 13:43 PDT by Eric Seidel (no email)
Modified: 2011-07-07 17:32 PDT (History)
4 users (show)

See Also:


Attachments
Patch (5.14 KB, patch)
2011-07-01 14:23 PDT, Dirk Pranke
eric: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2011-07-01 13:43:57 PDT
I think they've been failing for a very long time, I suspect there are dups of this somewhere.

Dirk may have some clue what's going on here.  He should be familiar with the code in question.

test-webkitpy: INFO     Suppressing most webkitpy logging while running unit tests.
test-webkitpy: WARNING  Skipping tests in ./Tools/QueueStatusServer due to failure (No module named dev_appserver).  This module is optional.  The failure is likely due to a missing Google AppEngine install.  (http://code.google.com/appengine/downloads.html)
webkitpy.test.main: INFO     Excluding: webkitpy.common.checkout.scm.scm_unittest (use --all to include)
.........................................................................................................................................................................................................root: INFO     this should be logged
.......Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
.Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
....Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 753, in emit
    self.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
......................................................................................................................................................................................./Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/port/webkit.pyc: ERROR    DumpRenderTree was not found at Use of uninitialized value in concatenation (.) or string at /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitdirs.pm line 145.
Use of uninitialized value in string lt at /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitdirs.pm line 145.
Use of uninitialized value in concatenation (.) or string at /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitdirs.pm line 146.
Use of uninitialized value in string lt at /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitdirs.pm line 146.
/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/WebKitBuild/Release/DumpRenderTree
....................................../Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/port/server_process.pyc: INFO     
/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/port/server_process.pyc: INFO     Unable to sample process.
.........../Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/port/webkit.pyc: ERROR    Failed to build WebKitTestRunner
.........../Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/port/webkit.pyc: WARNING  Failed to open Skipped file: /mock/LayoutTests/platform/testwebkitport/Skipped
..........EEE.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
======================================================================
ERROR: test_child_process_1 (webkitpy.layout_tests.run_webkit_tests_integrationtest.MainTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 210, in test_child_process_1
    ['--print', 'config', '--worker-model', 'processes', '--child-processes', '1'])
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 117, in logging_run
    parsed_args)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 129, in run_and_capture
    regular_output=regular_output)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 120, in run
    num_unexpected_results = manager.run(result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 787, in run
    interrupted, keyboard_interrupted, thread_timings, test_timings, individual_test_timings = self._run_tests(self._test_files_list, result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 639, in _run_tests
    self, worker.Worker)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py", line 109, in get
    worker_model)
ValueError: unsupported value for --worker-model: processes

======================================================================
ERROR: test_child_processes_2 (webkitpy.layout_tests.run_webkit_tests_integrationtest.MainTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 218, in test_child_processes_2
    ['--print', 'config', '--worker-model', 'processes', '--child-processes', '2'])
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 117, in logging_run
    parsed_args)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 129, in run_and_capture
    regular_output=regular_output)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 120, in run
    num_unexpected_results = manager.run(result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 787, in run
    interrupted, keyboard_interrupted, thread_timings, test_timings, individual_test_timings = self._run_tests(self._test_files_list, result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 639, in _run_tests
    self, worker.Worker)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py", line 109, in get
    worker_model)
ValueError: unsupported value for --worker-model: processes

======================================================================
ERROR: test_child_processes_min (webkitpy.layout_tests.run_webkit_tests_integrationtest.MainTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 227, in test_child_processes_min
    tests_included=True)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 117, in logging_run
    parsed_args)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py", line 129, in run_and_capture
    regular_output=regular_output)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 120, in run
    num_unexpected_results = manager.run(result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 787, in run
    interrupted, keyboard_interrupted, thread_timings, test_timings, individual_test_timings = self._run_tests(self._test_files_list, result_summary)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager.py", line 639, in _run_tests
    self, worker.Worker)
  File "/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug-tests/build/Tools/Scripts/webkitpy/layout_tests/layout_package/manager_worker_broker.py", line 109, in get
    worker_model)
ValueError: unsupported value for --worker-model: processes

----------------------------------------------------------------------
Ran 1022 tests in 38.902s

FAILED (errors=3)
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 1354, in shutdown
    h.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
Error in sys.exitfunc:
Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/atexit.py", line 24, in _run_exitfuncs
    func(*targs, **kargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 1354, in shutdown
    h.flush()
  File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/logging/__init__.py", line 731, in flush
    self.stream.flush()
AttributeError: MeteredStream instance has no attribute 'flush'
program finished with exit code 1
elapsedTime=42.151792
Comment 1 Adam Barth 2011-07-01 14:04:17 PDT
We need to skip those tests when the multiprocess package isn't available.

I'm not sure what the deal with with metered stream.
Comment 2 Dirk Pranke 2011-07-01 14:23:46 PDT
Created attachment 99521 [details]
Patch
Comment 3 Dirk Pranke 2011-07-01 14:25:41 PDT
I was pretty sure we had to not call flush() at some point as a result of a bug, so I had removed it in bug 60326. I don't remember what the context was, unfortunately. I've added it back in, and tested under python 2.5 and 2.6 on my SL box. Hopefully this fixes things ...
Comment 4 Eric Seidel (no email) 2011-07-01 14:28:52 PDT
Comment on attachment 99521 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=99521&action=review

Thank you for fixing.

> Tools/Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:69
> +    def flush(self):

We might want to comment that this is only needed for Python 2.5 here.

> Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:54
> +SHOULD_TEST_PROCESSES = multiprocessing and sys.platform not in ('cygwin')

I would have made this a member on MainTest.  Then accessed it with self.should_test_processes (or even an function).
Comment 5 Eric Seidel (no email) 2011-07-01 14:29:08 PDT
Your welcome to ignore my nits of course.
Comment 6 Dirk Pranke 2011-07-01 14:36:52 PDT
Comment on attachment 99521 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=99521&action=review

>> Tools/Scripts/webkitpy/layout_tests/layout_package/metered_stream.py:69
>> +    def flush(self):
> 
> We might want to comment that this is only needed for Python 2.5 here.

Will do.

>> Tools/Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:54
>> +SHOULD_TEST_PROCESSES = multiprocessing and sys.platform not in ('cygwin')
> 
> I would have made this a member on MainTest.  Then accessed it with self.should_test_processes (or even an function).

I preferred the file-level constant near the import, since that's where the other multiprocessing specific logic is.
Comment 7 Dirk Pranke 2011-07-05 17:33:30 PDT
Committed r90422: <http://trac.webkit.org/changeset/90422>
Comment 8 Ryosuke Niwa 2011-07-06 09:37:31 PDT
webkitpy test is failing on Chromium Windows and preventing the rest of tests to run ever since this patch was landed:
http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/16355
Comment 9 Dirk Pranke 2011-07-06 13:36:43 PDT
(In reply to comment #8)
> webkitpy test is failing on Chromium Windows and preventing the rest of tests to run ever since this patch was landed:
> http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/16355

Hm. That looks like test-webkitpy is perhaps trying to run some of the multiprocessing tests and failing. I'll patch that this afternoon.
Comment 10 Dirk Pranke 2011-07-07 17:32:45 PDT
I've filed bug 64137 for the windows issues (and uploaded a patch).