Skip to content

fix: only set Node's WASM streaming callback when fetch is enabled#51956

Merged
dsanders11 merged 2 commits into
42-x-yfrom
trop/42-x-y-bp-fix-only-set-node-s-wasm-streaming-callback-when-fetch-is-enabled-1781119540652
Jun 11, 2026
Merged

fix: only set Node's WASM streaming callback when fetch is enabled#51956
dsanders11 merged 2 commits into
42-x-yfrom
trop/42-x-y-bp-fix-only-set-node-s-wasm-streaming-callback-when-fetch-is-enabled-1781119540652

Conversation

@trop

@trop trop Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Backport of #51953

See that PR for details.

Notes: Fixed a renderer crash when calling WebAssembly.compileStreaming() or WebAssembly.instantiateStreaming() with nodeIntegration enabled.

trop Bot and others added 2 commits June 10, 2026 19:25
Node.js v24.16.0 removed the experimental_fetch gate around
isolate->SetWasmStreamingCallback() (nodejs/node#62759). When
fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch was
rebased for the version bump, the flag was restored but the gate was
not.

As a result, Node.js unconditionally overrode Blink's WebAssembly
streaming callback in renderer and worker processes, where Electron
passes --no-experimental-fetch and skips the bootstrap file that
registers Node's JS-side streaming implementation. Any call to
WebAssembly.compileStreaming() or instantiateStreaming() in a renderer
with nodeIntegration then failed the CHECK(\!impl.IsEmpty()) assertion
in node_wasm_web_api.cc and crashed the renderer.

Restore the gate so Blink's streaming callback stays in place in
processes where Node's fetch is disabled.

Fixes #51950

Co-authored-by: Sam Attard <sattard@anthropic.com>
…ntegration

Co-authored-by: Sam Attard <sattard@anthropic.com>
@trop trop Bot requested a review from a team as a code owner June 10, 2026 19:26
@trop trop Bot requested a review from MarshallOfSound June 10, 2026 19:26
@trop trop Bot added 42-x-y backport This is a backport PR semver/patch backwards-compatible bug fixes labels Jun 10, 2026
@dsanders11 dsanders11 merged commit f34cf62 into 42-x-y Jun 11, 2026
124 of 128 checks passed
@release-clerk

release-clerk Bot commented Jun 11, 2026

Copy link
Copy Markdown

Release Notes Persisted

Fixed a renderer crash when calling WebAssembly.compileStreaming() or WebAssembly.instantiateStreaming() with nodeIntegration enabled.

@dsanders11 dsanders11 deleted the trop/42-x-y-bp-fix-only-set-node-s-wasm-streaming-callback-when-fetch-is-enabled-1781119540652 branch June 11, 2026 01:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

42-x-y backport This is a backport PR semver/patch backwards-compatible bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant