WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
89734
run_webkit_tests.py failed with AttributeError(''NoneType' object has no attribute 'pid'')
https://bugs.webkit.org/show_bug.cgi?id=89734
Summary
run_webkit_tests.py failed with AttributeError(''NoneType' object has no attr...
Fumitoshi Ukai
Reported
2012-06-21 21:04:26 PDT
run_webkit_tests.py failed with AttributeError(''NoneType' object has no attribute 'pid'') on Webkit Vista in chromium.webkit python.exe e:\b\build\slave\Webkit_Vista\build\src\webkit\tools\layout_tests\run_webkit_tests.py --no-show-results --no-new-test-results --verbose --full-results-html --clobber-old-results --exit-after-n-failures 5000 --exit-after-n-crashes-or-timeouts 100 --results-directory e:\b\build\slave\Webkit_Vista\build\layout-test-results --target Release --builder-name "Webkit Vista" --build-number 16253 --master-name ChromiumWebkit --build-name Webkit_Vista --build-directory e:\b\build\slave\Webkit_Vista\build\src\build --test-results-server test-results.appspot.com "" ... 20:14:16.836 4004 worker/3 raised AttributeError(''NoneType' object has no attribute 'pid''): 20:14:16.836 4004 layout_tests\controllers\manager_worker_broker.py:290 (in run) 20:14:16.836 4004 self._worker_connection.run_message_loop() 20:14:16.836 4004 layout_tests\controllers\manager_worker_broker.py:243 (in run_message_loop) 20:14:16.836 4004 self._broker.run_message_loop(self._run_topic, self._client, delay_secs) 20:14:16.836 4004 layout_tests\controllers\manager_worker_broker.py:175 (in run_message_loop) 20:14:16.836 4004 self._run_loop(topic_name, client, block=True, delay_secs=delay_secs) 20:14:16.836 4004 layout_tests\controllers\manager_worker_broker.py:189 (in _run_loop) 20:14:16.836 4004 self._dispatch_message(msg, client) 20:14:16.836 4004 layout_tests\controllers\manager_worker_broker.py:198 (in _dispatch_message) 20:14:16.836 4004 message_handler(message.src, *optargs) 20:14:16.882 4004 layout_tests\controllers\worker.py:137 (in handle_test_list) 20:14:16.882 4004 self._run_test(test_input) 20:14:16.882 4004 layout_tests\controllers\worker.py:164 (in _run_test) 20:14:16.882 4004 result = self.run_test_with_timeout(test_input, test_timeout_sec) 20:14:16.882 4004 layout_tests\controllers\worker.py:209 (in run_test_with_timeout) 20:14:16.882 4004 return self._run_test_in_this_thread(test_input) 20:14:16.882 4004 layout_tests\controllers\worker.py:294 (in _run_test_in_this_thread) 20:14:16.882 4004 return self.run_single_test(self._driver, test_input) 20:14:16.882 4004 layout_tests\controllers\worker.py:298 (in run_single_test) 20:14:16.882 4004 test_input, driver, self._name) 20:14:16.882 4004 layout_tests\controllers\single_test_runner.py:46 (in run_single_test) 20:14:16.882 4004 return runner.run() 20:14:16.882 4004 layout_tests\controllers\single_test_runner.py:105 (in run) 20:14:16.882 4004 return self._run_compare_test() 20:14:16.882 4004 layout_tests\controllers\single_test_runner.py:108 (in _run_compare_test) 20:14:16.882 4004 driver_output = self._driver.run_test(self._driver_input()) 20:14:16.882 4004 layout_tests\port\driver.py:220 (in run_test) 20:14:16.882 4004 return self._running_drivers[cmd_line_key].run_test(driver_input) 20:14:16.882 4004 layout_tests\port\chromium.py:550 (in run_test) 20:14:16.882 4004 return super(ChromiumDriver, self).run_test(driver_input) 20:14:16.882 4004 layout_tests\port\webkit.py:566 (in run_test) 20:14:16.882 4004 text, audio = self._read_first_block(deadline) # First block is either text or audio 20:14:16.882 4004 layout_tests\port\webkit.py:544 (in _read_first_block) 20:14:16.882 4004 block = self._read_block(deadline) 20:14:16.882 4004 layout_tests\port\webkit.py:627 (in _read_block) 20:14:16.882 4004 while not self.has_crashed(): 20:14:16.882 4004 layout_tests\port\chromium.py:490 (in has_crashed) 20:14:16.882 4004 return super(ChromiumDriver, self).has_crashed() 20:14:16.882 4004 layout_tests\port\webkit.py:500 (in has_crashed) 20:14:16.882 4004 self._crashed_pid = self._server_process.pid() 20:14:16.882 4004 layout_tests\port\server_process.py:80 (in pid) 20:14:16.882 4004 return self._proc.pid Traceback (most recent call last): File "e:\b\depot_tools\python_bin\lib\multiprocessing\queues.py", line 238, in _feed send(obj) IOError: [Errno 109] The pipe has been ended 20:14:16.898 4004 Stopping HTTP server ... 20:14:16.898 4004 Attempting to shut down lighttpd server at pid 464 20:14:17.007 4004 "taskkill.exe /f /pid 464" took 0.09s 20:14:17.007 4004 Waiting for action: <bound method Lighttpd._check_and_kill of <webkitpy.layout_tests.servers.http_server.Lighttpd object at 0x05DA92F0>> 20:14:18.007 4004 lighttpd server at pid 464 stopped 20:14:18.007 4004 Stopping WebSocket server ... 20:14:18.007 4004 Attempting to shut down pywebsocket server at pid 2772 20:14:18.101 4004 "taskkill.exe /f /pid 2772" took 0.09s 20:14:18.101 4004 Waiting for action: <bound method PyWebSocket._check_and_kill of <webkitpy.layout_tests.servers.websocket_server.PyWebSocket object at 0x05DA91F0>> 20:14:19.101 4004 pywebsocket server at pid 2772 stopped 20:14:19.101 4004 Releasing server lock ... 20:14:19.101 4004 Removing lock file: c:\users\chrome~2\appdata\local\temp\WebKitHttpd.lock.0 program finished with exit code 254 elapsedTime=434.486000
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Vista/builds/16253
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Vista/builds/16253/steps/webkit_tests/logs/stdio
Attachments
Patch
(3.74 KB, patch)
2012-06-22 15:18 PDT
,
Dirk Pranke
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Fumitoshi Ukai
Comment 1
2012-06-21 21:24:48 PDT
Also failed on Win7 python.exe e:\b\build\slave\Webkit_Win7\build\src\webkit\tools\layout_tests\run_webkit_tests.py --no-show-results --no-new-test-results --verbose --full-results-html --clobber-old-results --exit-after-n-failures 5000 --exit-after-n-crashes-or-timeouts 100 --results-directory e:\b\build\slave\Webkit_Win7\build\layout-test-results --target Release --builder-name "Webkit Win7" --build-number 17860 --master-name ChromiumWebkit --build-name Webkit_Win7 --build-directory e:\b\build\slave\Webkit_Win7\build\src\build --test-results-server test-results.appspot.com "" ... 20:50:04.970 1920 worker/1 raised AttributeError(''NoneType' object has no attribute 'pid''): 20:50:04.970 1920 layout_tests\controllers\manager_worker_broker.py:290 (in run) 20:50:04.970 1920 self._worker_connection.run_message_loop() 20:50:04.970 1920 layout_tests\controllers\manager_worker_broker.py:243 (in run_message_loop) 20:50:04.970 1920 self._broker.run_message_loop(self._run_topic, self._client, delay_secs) 20:50:04.970 1920 layout_tests\controllers\manager_worker_broker.py:175 (in run_message_loop) 20:50:04.970 1920 self._run_loop(topic_name, client, block=True, delay_secs=delay_secs) 20:50:04.970 1920 layout_tests\controllers\manager_worker_broker.py:189 (in _run_loop) 20:50:04.970 1920 self._dispatch_message(msg, client) 20:50:04.970 1920 layout_tests\controllers\manager_worker_broker.py:198 (in _dispatch_message) 20:50:04.970 1920 message_handler(message.src, *optargs) 20:50:04.970 1920 layout_tests\controllers\worker.py:137 (in handle_test_list) 20:50:04.970 1920 self._run_test(test_input) 20:50:04.970 1920 layout_tests\controllers\worker.py:164 (in _run_test) 20:50:05.064 1920 result = self.run_test_with_timeout(test_input, test_timeout_sec) 20:50:05.064 1920 layout_tests\controllers\worker.py:209 (in run_test_with_timeout) 20:50:05.064 1920 return self._run_test_in_this_thread(test_input) 20:50:05.064 1920 layout_tests\controllers\worker.py:294 (in _run_test_in_this_thread) 20:50:05.064 1920 return self.run_single_test(self._driver, test_input) 20:50:05.064 1920 layout_tests\controllers\worker.py:298 (in run_single_test) 20:50:05.064 1920 test_input, driver, self._name) 20:50:05.064 1920 layout_tests\controllers\single_test_runner.py:46 (in run_single_test) 20:50:05.064 1920 return runner.run() 20:50:05.064 1920 layout_tests\controllers\single_test_runner.py:105 (in run) 20:50:05.064 1920 return self._run_compare_test() 20:50:05.064 1920 layout_tests\controllers\single_test_runner.py:108 (in _run_compare_test) 20:50:05.064 1920 driver_output = self._driver.run_test(self._driver_input()) 20:50:05.064 1920 layout_tests\port\driver.py:220 (in run_test) 20:50:05.064 1920 return self._running_drivers[cmd_line_key].run_test(driver_input) 20:50:05.064 1920 layout_tests\port\chromium.py:550 (in run_test) 20:50:05.064 1920 return super(ChromiumDriver, self).run_test(driver_input)
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win7/builds/17860
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win7/builds/17860/steps/webkit_tests/logs/stdio
Fumitoshi Ukai
Comment 2
2012-06-21 22:42:08 PDT
in webkitpy/layout_tests/ports/server_process.py if write failed -> stop() -> _reset() -> _proc = None -> _crashed = True so, has_crashed() will return True. but calling pid() would fail to access pid of None. we should save pid before calling _reset(), so that pid() returns that value if _proc is None or new crashed_pid() method returns that value ?
Dirk Pranke
Comment 3
2012-06-22 15:18:59 PDT
Created
attachment 149118
[details]
Patch
Dirk Pranke
Comment 4
2012-06-22 15:26:08 PDT
Comment on
attachment 149118
[details]
Patch Clearing flags on attachment: 149118 Committed
r121061
: <
http://trac.webkit.org/changeset/121061
>
Dirk Pranke
Comment 5
2012-06-22 15:26:19 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug