Node.js Nightly 2026-10-05 onwards regresses/changes wasm64.test_em_asm #27984
Description
A recent update to Node.js (nodejs/node#65161) which first appears in Node.js Nightly 2026-10-05 (https://nodejs.org/download/nightly/v27.0.0-nightly202610056812e92dea/) will regress test wasm64.test_em_asm
The failure is
--- expected
+++ actual
@@ -75,9 +75,9 @@
returned: 19
EM_ASM_DOUBLE :
takes ints: 5
- returned: nan
+ returned: -nan
takes doubles: 5.0675
- returned: nan
+ returned: -nan
takes strings: string arg
returned: 7.750000
takes multiple ints: 5, 7
The Node.js side PR is an update to V8. I tried bisecting what commit that could have been, but building V8 is too complex that I was not able to get it going.
Potential suspect commits are
v8/v8@090d6531c1d - Ship undefined doubles
v8/v8@929a3120ecf - [wasm] Preserve old undefined pattern for wasm wrappers
v8/v8@7736b861998 - [wasm-interpreter] Coerce JS call results against the callee signature
Posting this regression here since I don't currently know if this is some kind of intended behavioral change, or a bug. @sbc100 @dschuff @tlively any chance you might be able to bisect what changed in V8, and if this change is to be expected?
I don't know the cadence of Node.js updating V8.. though if this is a bug, I presume it could already have been fixed in upstream V8, so it would be great to avoid Node.js from shipping with that version of V8 then.
Activity
[test] Avoid relying on NaN sign bit in `test_em_asm.cpp`. NFC
[test] Avoid relying on NaN sign bit in `test_em_asm.cpp`. NFC
[test] Avoid relying on NaN sign bit in `test_em_asm.cpp`. NFC (emscr…