Skip to content

Headed Chrome 154 hangs on the first navigation when the collector preload is registered #403

Description

@vishnuv688

What happens

With the service active, a headed Chrome 154 session hangs on the first
navigation: browsingContext.navigate with wait: "complete" never returns and
the test dies at the 60 s timeout. The page itself loads and paints normally,
and nothing arrives on the BiDi channel for the whole minute.

Headless is unaffected, which is why CI and the mobile work never saw it. The
documented Chrome matrix for this repo stops at 152.

Cause, by bisection

The collector preload. session.ts registers the built @wdio/devtools-script
bundle, about 213 KB, via browser.scriptAddPreloadScript({ functionDeclaration })
with no browsing-context id. Skipping only that registration and changing
nothing else makes the same navigation complete in 4.66 s.

What that rules out, each by its own run rather than by argument:

Excluded How
The dashboard window mode: 'trace' opens none, still hangs
The screencast filmstrip: false, and live mode starts none
Live vs trace mode both hang
The published build the workspace build behaves identically
Occluded-window throttling the page renders fully while hanging
The network the site answers in 0.9 s throughout
WebdriverIO or Chrome alone same spec, same browser, no service: passes in 5.7 s

Reproducing

Any headed Chrome 154 run with the service on. examples/wdio/mocha does it with
its --headless line commented out, as it ships.

BIDI COMMAND browsingContext.navigate {"url":"…/login","wait":"complete"}
   … 60 s of nothing …
Error: Timeout of 60000ms exceeded

What is not yet known

Why a preload of that size stalls the following navigation, and only headed. The
next cut is size against content: register a trivial preload, then progressively
larger ones, which separates a payload limit in the BiDi path from something the
collector does at document start. Until that is answered a fix would be a guess.

Worth noting the same mechanism is shared with the Selenium and Nightwatch
adapters through core/bidi-preload.ts, so this is unlikely to be
service-specific even though that is where it was found.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions