Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a32c5ac7ae8cccbc0d7726a66f5c46be282042af
      
https://github.com/WebKit/WebKit/commit/a32c5ac7ae8cccbc0d7726a66f5c46be282042af
  Author: Yijia Huang <[email protected]>
  Date:   2026-09-14 (Mon, 14 Sep 2026)

  Changed paths:
    M JSTests/wasm/debugger/lib/session.py
    M JSTests/wasm/debugger/resources/wasm/unreachable.js
    M JSTests/wasm/debugger/test-wasm-debugger.py
    M JSTests/wasm/debugger/tests/tests.py

  Log Message:
  -----------
  [JSC] Fix flaky WASM debugger tests under parallel runs
https://bugs.webkit.org/show_bug.cgi?id=324166
rdar://187393222

Reviewed by Keith Miller.

unreachable.js had `unreachable` as the first instruction of the function body.
An interrupt serviced in the wasm prologue is reported at the first body
instruction, so the PC was already on the breakpoint site at resume and LLDB's
lift dance (z0, s, Z0) could never retire: the step traps instead of advancing
the PC, so the PC never moves and Z0 arrives after the stop. A leading nop moves
`unreachable` to 0x25, and the three tests asserting on that fixture move with
it. This is what made the suite flaky under -p, where parallel load shifts
attach timing into the prologue window far more often.

The rest is hardening for failures that were previously silent:

Ports came from a fixed base (12340 + index), which is distinct per test within
a run but collidable by anything else on the machine, with a silent bind
failure. Each test now binds 127.0.0.1:0, and every probe is held until all
ports are picked so they cannot repeat.

A failed bind leaves JSC running without a debug server, so the session died
60 s later as a misleading LLDB timeout. The reader thread now raises the
server's own failure line, which is emitted under --verbose-wasm-debugger only.

Timeouts report the last 20 lines LLDB produced, and the two duplicate verbose
echo sites are removed - the reader thread already prints each line as
[LLDB][stdout].

No Source/ changes; test infrastructure only.

Canonical link: https://commits.webkit.org/321104@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to