New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 665769 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: ----
Type: ----



Sign in to add a comment

webkit_tests failing on 2 builders: wptserve.py issue in _stop_running_server

Project Member Reported by suzyh@chromium.org, Nov 16 2016

Issue description

webkit_tests failing on 2 builders

Type: build-failure

Builders failed on: 
- WebKit Linux Trusty (dbg): 
  https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29
- WebKit Linux Trusty MSAN: 
  https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20MSAN


"""
22:31:46.542 11072 Found 50839 tests; running 41935, skipping 8904.
22:31:46.542 11072 Checking build ...
22:31:46.610 11072
22:31:46.778 11072 "ruby --version" took 0.17s
22:31:46.823 11072 "/usr/bin/wdiff --help" took 0.03s
22:31:47.006 11072 "/usr/sbin/apache2 -v" took 0.18s
22:31:47.007 11072 Checking system dependencies ...
22:31:48.160 11072 "/b/c/b/linux_layout/src/out/Release/content_shell --check-layout-test-sys-deps" took 1.07s
22:31:48.161 11072 Clobbering old results in /b/rr/tmpIQ7wPg/w
22:31:48.194 11072 Starting WPTServe ...
22:31:48.207 11072 stale wptserve pid file, pid 13459
22:31:48.207 11072 Flushing stdout
22:31:48.207 11072 Flushing stderr
22:31:48.207 11072 Cleaning up port

AttributeError raised: 'NoneType' object has no attribute 'wait'
Traceback (most recent call last):
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 68, in main
    return run(port, options, args, stderr, stdout).exit_code
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 565, in run
    run_details = _run_tests(port, options, args, printer)
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 556, in _run_tests
    return manager.run(args)
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 127, in run
    self._start_servers(tests_to_run)
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 365, in _start_servers
    self._port.start_wptserve()
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py", line 1248, in start_wptserve
    server.start()
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/server_base.py", line 93, in start
    self._stop_running_server()
  File "/b/c/b/linux_layout/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/wptserve.py", line 76, in _stop_running_server
    self._process.wait()
AttributeError: 'NoneType' object has no attribute 'wait'
<Thread(Thread-1, started 140542164846336)> ProcessRead: proc.stdout finished.
<Thread(Thread-1, started 140542164846336)> ProcessRead: cleaning up.
<Thread(Thread-2, started daemon 140542156453632)> TimedFlush: Finished
<Thread(Thread-1, started 140542164846336)> ProcessRead: finished.
Confused: 8 files were deleted from /tmp during the test run
Stopping Xvfb with pid 10908 ...
Xvfb pid file removed
 killed dbus-daemon with PID 10891
 cleared DBUS_SESSION_BUS_ADDRESS environment variable
step returned non-zero exit code: 255
@@@STEP_FAILURE@@@
"""
 

Comment 1 by suzyh@chromium.org, Nov 16 2016

Owner: tkent@chromium.org
Status: Assigned (was: Available)
tkent, could this be related to
https://chromium.googlesource.com/chromium/src/+/340ad8ad4eceb6603867b1fc3f9b3b295d76d79d Reland of wptserve: Enable WPTServe by default.
?

Otherwise tansell thinks this is related to something qyearsley might be doing.

Comment 2 by suzyh@chromium.org, Nov 16 2016

Summary: webkit_tests failing on 2 builders: wptserve.py issue in _stop_running_server (was: webkit_tests failing on 2 builders)
So, at some point the attribute _process is set to None when it's expected to be set; it's supposed to be set at https://cs.chromium.org/chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/server_base.py?l=165 in _spawn_process, but if self._executive.popen fails then it could perhaps be set to None.

I can't think of any obvious recent changes that I think would cause this; the root cause of this issue may not be new, but it may be manifesting now that we're using wpsterve by default.
Also, note: wptserve is being started and stopped successfully on the latest builds for the builders
 - https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29
 - https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20MSAN

Note that both of these builders are new; they're newly added Trusty builders that are replacing Precise builders ( issue 660580 ), so maybe it was a temporary problem that manifested in the first few builds?

Comment 5 by tkent@chromium.org, Nov 16 2016

Status: WontFix (was: Assigned)
These two bots look to have no such exception now.  Let's close this, and reopen if the problem happens again.

Status: Available (was: WontFix)
tkent@ - This error was most certainly hiding what the real failure was.

There are multiple ways this could have occurred, so can we please fix this code so that it doesn't fail if self._process is None?
Okay, I created https://codereview.chromium.org/2511013002 to fix this issue.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 17 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a66268ab69e0374e1974e70fdfbe1a51980699c

commit 8a66268ab69e0374e1974e70fdfbe1a51980699c
Author: tansell <tansell@chromium.org>
Date: Thu Nov 17 04:59:52 2016

webkitpy: Refactor _stop_running_server for wptserve

 * Always make sure the process has terminated.
 * Always clean up the pid file if it exists.
 * Don't fail if process was never started.

BUG= 665769 
R=tkent,qyearsley

Review-Url: https://codereview.chromium.org/2511013002
Cr-Commit-Position: refs/heads/master@{#432750}

[modify] https://crrev.com/8a66268ab69e0374e1974e70fdfbe1a51980699c/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/servers/wptserve.py

Comment 9 by mgiuca@chromium.org, Nov 18 2016

This is still failing consistently 24 hours later. Did your fix not work?

Comment 11 by tkent@chromium.org, Nov 18 2016

Cc: -tansell@chromium.org tkent@chromium.org
Owner: tansell@chromium.org
Status: Fixed (was: Available)
mgiuca@, what build# failed with this issue?  I couldn't find in https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20Trusty%20%28dbg%29

Sorry, I didn't properly read the issue. I thought this was related to the failure of network-disable-cache-preloads.php and unitless-length.html (it was incorrectly linked in Sheriff-O-Matic).

Sign in to add a comment