Skip to content

servo harness: Reduce recursive execution for shutdown#57973

Merged
jdm merged 2 commits intoweb-platform-tests:masterfrom
servo:servo_export_42770
Feb 23, 2026
Merged

servo harness: Reduce recursive execution for shutdown#57973
jdm merged 2 commits intoweb-platform-tests:masterfrom
servo:servo_export_42770

Conversation

@servo-wpt-sync
Copy link
Copy Markdown
Collaborator

@servo-wpt-sync servo-wpt-sync commented Feb 23, 2026

I like servo runner, or better known as its previous name servodriver to some people.
However, it is getting quite often that I use legacy, or better known as its previous name servo.
This is because servo (previously servodriver) harness shutdown very slowly due to its shutdown command servo/servo#40455

  • This PR improves the shutdown command in the way as titled.
  • Avoids accidental Prockill that may happen after regular shutdown. This may be related to @jschwe's report that coverage for WPT still reports empty more often than it should.

Previously, shutdown is like:

 0:15.06 INFO Trying to shut down gracefully by extension command
 0:18.13 DEBUG Servo has shut down normally. HTTPConnectionPool(host='127.0.0.1', port=8378): Max retries exceeded with url: /status (Caused by NewConnectionError("HTTPConnection(host='127.0.0.1', port=8378): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it"))
 0:18.13 DEBUG Stopping WebDriver
 0:20.19 DEBUG Servo has shut down normally. HTTPConnectionPool(host='127.0.0.1', port=8378): Max retries exceeded with url: /status (Caused by NewConnectionError("HTTPConnection(host='127.0.0.1', port=8378): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it"))
 0:22.24 DEBUG Servo has shut down normally. HTTPConnectionPool(host='127.0.0.1', port=8378): Max retries exceeded with url: /status (Caused by NewConnectionError("HTTPConnection(host='127.0.0.1', port=8378): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it"))
 0:14.99 DEBUG Hanging up on WebDriver session

Now:

 INFO Trying to shut down gracefully by extension command
 0:18.41 DEBUG Servo has shut down normally. HTTPConnectionPool(host='127.0.0.1', port=9098): Max retries exceeded with url: /status (Caused by NewConnectionError("HTTPConnection(host='127.0.0.1', port=9098): Failed to establish a new connection: [WinError 10061] No connection could be made because the target machine actively refused it"))
 0:18.41 DEBUG TestRunnerManager cleanup
 0:15.30 DEBUG Hanging up on WebDriver session

Testing: Locally, this reduce shutdown time from about 5 sec to 1 sec, counting from "Trying to shut down gracefully by extension command".
Try.

Reviewed in servo/servo#42770

Copy link
Copy Markdown
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Servo project.

@servo-wpt-sync servo-wpt-sync changed the title servo: Reduce recursive execution for shutdown servo harness: Reduce recursive execution for shutdown Feb 23, 2026
@yezhizhen
Copy link
Copy Markdown
Contributor

I guess the UT is very flaky. @jdm Can you help out later pls?

@servo-wpt-sync servo-wpt-sync added stale-servo-export PRs that were supposed to merge but were not able to do so. and removed do not merge yet labels Feb 23, 2026
@servo-wpt-sync
Copy link
Copy Markdown
Collaborator Author

⛔ The downstream PR has merged (servo/servo#42770), but these changes could not be merged properly. Please address any CI issues and try to merge manually.

@jdm
Copy link
Copy Markdown
Contributor

jdm commented Feb 23, 2026

py39-flake8: commands[0]> flake8 --append-config=/home/test/web-platform-tests/tools/flake8.ini
./wptrunner/wptrunner/browsers/servo.py:141:54: W291 trailing whitespace

./wptrunner/wptrunner/browsers/servo.py:176:1: W293 blank line contains whitespace

Signed-off-by: Euclid Ye <[email protected]>
@yezhizhen
Copy link
Copy Markdown
Contributor

I checked the log but missed that :(
Didn't expect it in UT as well.

@jdm jdm enabled auto-merge (rebase) February 23, 2026 13:06
@jdm jdm merged commit dad7cb2 into web-platform-tests:master Feb 23, 2026
37 checks passed
@yezhizhen yezhizhen deleted the servo_export_42770 branch February 23, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra servo-export stale-servo-export PRs that were supposed to merge but were not able to do so. wptrunner The automated test runner, commonly called through ./wpt run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants