Bug 56227 - [Chromium] lighthttpd not getting shut down cleanly on Windows 7
Summary: [Chromium] lighthttpd not getting shut down cleanly on Windows 7
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-11 14:51 PST by Mihai Parparita
Modified: 2013-04-11 13:27 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mihai Parparita 2011-03-11 14:51:58 PST
The Chromium Windows 7 bot (http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win7/builds/527) often fails to run layout tests with this exception:

Traceback (most recent call last):
2011-03-11 14:27:08,124 18544 dump_render_tree_thread.py:154 ERROR Thread-1 dying, exception raised
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 439, in <module>
    sys.exit(main())
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 434, in main
    return run(port_obj, options, args)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 120, in run
    num_unexpected_results = runner.run(result_summary)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\test_runner.py", line 669, in run
    self._run_tests(self._test_files_list, result_summary))
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\test_runner.py", line 566, in _run_tests
    broker.run_message_loop()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\dump_render_tree_thread.py", line 144, in _covered_run
    self._run(test_runner=None, result_summary=None)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\dump_render_tree_thread.py", line 206, in _run
No handlers could be found for logger "webkitpy.layout_tests.layout_package.worker_mixin"
    self.start_servers_with_lock()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\worker_mixin.py", line 97, in start_servers_with_lock
    self._port.start_http_server()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\base.py", line 567, in start_http_server
    self._http_server.start()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\http_server.py", line 118, in start
    self.remove_log_files(self._output_dir, "access.log-")
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\http_server_base.py", line 83, in remove_log_files
    filesystem.FileSystem().remove(full_path)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\common\system\filesystem.py", line 237, in remove
    raise e
WindowsError: [Error 5] Access is denied: 'e:\\b\\build\\slave\\Webkit_Win7\\build\\src\\webkit\\Release\\..\\../../layout-test-results\\access.log-11Mar2011-122724.txt'
program finished with exit code 1

Whenever I connect to it, I see a LightTPD.exe process in the task manager, even if no tests are currently running. Killing it allows the next run to succeed, but the run after that fails once again.

I have also occasionally seen a similar error about the WebSocket server:


2011-03-11 12:49:08,921 15368 test_runner.py:578 INFO Exception raised, exiting
Traceback (most recent call last):
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 439, in <module>
    sys.exit(main())
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 434, in main
    return run(port_obj, options, args)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\run_webkit_tests.py", line 120, in run
    num_unexpected_results = runner.run(result_summary)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\test_runner.py", line 669, in run
    self._run_tests(self._test_files_list, result_summary))
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\test_runner.py", line 566, in _run_tests
    broker.run_message_loop()
No handlers could be found for logger "webkitpy.common.system"
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\dump_render_tree_thread.py", line 144, in _covered_run
    self._run(test_runner=None, result_summary=None)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\dump_render_tree_thread.py", line 206, in _run
    self.start_servers_with_lock()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\layout_package\worker_mixin.py", line 99, in start_servers_with_lock
    self._port.start_websocket_server()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\base.py", line 575, in start_websocket_server
    self._websocket_server.start()
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\websocket_server.py", line 153, in start
    self.remove_log_files(self._output_dir, log_prefix)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\layout_tests\port\http_server_base.py", line 83, in remove_log_files
    filesystem.FileSystem().remove(full_path)
  File "e:\b\build\slave\Webkit_Win7\build\src\third_party\WebKit\Tools\Scripts\webkitpy\common\system\filesystem.py", line 237, in remove
    raise e
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'e:\\b\\build\\slave\\Webkit_Win7\\build\\src\\webkit\\Release\\..\\../../layout-test-results\\pywebsocket.ws.log-11Mar2011-122728-err.txt'
Comment 1 Tony Chang 2011-03-11 15:02:24 PST
I saw this on the build.webkit.org windows bot too so I added lighttpd to the taskkill step as a workaround.

The python web socket server not dying is a problem too, but it doesn't seem to happen as frequently.

I haven't see this happen on Webkit Win-- what version of Windows does that bot run?  Maybe this is a windows 7 specific bug (the build.webkit.org chromium win bot runs windows 7)?
Comment 2 Mihai Parparita 2011-03-11 15:03:31 PST
(In reply to comment #1)
> I haven't see this happen on Webkit Win-- what version of Windows does that bot run?  Maybe this is a windows 7 specific bug (the build.webkit.org chromium win bot runs windows 7)?

It's Windows 7 (see bug title).
Comment 3 Tony Chang 2011-03-11 15:45:41 PST
As a workaround, we could add lighttpd to kill_processes.py.  At least it won't prevent future test runs.