Skip to content

src: fix external reference registration for new CFunction lifetime #1884

src: fix external reference registration for new CFunction lifetime

src: fix external reference registration for new CFunction lifetime #1884

Triggered via push May 26, 2026 10:11
Status Failure
Total duration 2h 50m 2s
Artifacts

test-linux.yml

on: push
Matrix: test-linux
Fit to window
Zoom out
Zoom in

Annotations

8 errors
test-linux (ubuntu-24.04-arm)
Process completed with exit code 2.
test-linux (ubuntu-24.04-arm): test/wpt/test-wasm-jsapi.mjs#L0
--- stderr --- (node:200202) ExperimentalWarning: Importing WebAssembly module instances is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:200202) ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:200202) ExperimentalWarning: Importing WebAssembly module instances is an experimental feature and might change at any time /home/runner/work/node-v8/node-v8/node/test/common/wpt.js:850 throw new Error( ^ Error: Found 1 unexpected passes. Consider updating test/wpt/status/wasm/jsapi.json for these files: global/value-get-set.any.js:Calling setter without argument at process.<anonymous> (/home/runner/work/node-v8/node-v8/node/test/common/wpt.js:850:15) at process.emit (node:events:509:20) Node.js v27.0.0-pre --- stdout --- [SKIPPED] esm-integration/global-exports-live-bindings.tentative.any.js: Live bindings unsupported pending V8 WebAssemblyModuleRecord [SKIPPED] esm-integration/namespace-instance.tentative.any.js: pending https://github.com/nodejs/node/pull/59024 [SKIPPED] esm-integration/v128-tdz.tentative.any.js: v128 undefined Wasm bindings not yet supported in V8 [SKIPPED] exception/getArg.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/call.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/constructor.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/table.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] global/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] idlharness.any.js: track - still tentative / unsupported [SKIPPED] memory/constructor-types.tentative.any.js: track - still tentative / unsupported [SKIPPED] memory/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] table/constructor-types.tentative.any.js: track - still tentative / unsupported [SKIPPED] table/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] tag/type.tentative.any.js: track - still tentative / unsupported [PASS] Promise type [PASS] Missing argument [PASS] Promise type [PASS] Invalid arguments [PASS] WebAssembly.instantiate(module): Non-object imports argument: null [PASS] WebAssembly.instantiate(module): Non-object imports argument: true [PASS] WebAssembly.instantiate(module): Non-object imports argument: "" [PASS] WebAssembly.instantiate(module): Non-object imports argument: symbol "Symbol()" [PASS] WebAssembly.instantiate(module): Non-object imports argument: 1 [PASS] WebAssembly.instantiate(module): Non-object imports argument: 0.1 [PASS] WebAssembly.instantiate(module): Non-object imports argument: NaN [PASS] Missing arguments [PASS] Branding [PASS] Empty buffer [PASS] Invalid code [PASS] WebAssembly.instantiate(module): Non-object module: undefined [PASS] WebAssembly.instantiate(module): Non-object module: null [PASS] Result type [PASS] WebAssembly.instantiate(module): Non-object module: true [PASS] Stray argument [PASS] WebAssembly.instantiate(module): Non-object module: "" [PASS] WebAssembly.instantiate(module): Non-object module: symbol "Symbol()" [PASS] Changing the buffer [PASS] WebAssembly.instantiate(module): Non-object module: 1 [PASS] WebAssembly.instantiate(module): Non-object module: 0.1 [PASS] WebAssembly.instantiate(module): Non-object module: NaN [PASS] WebAssembly.instantiate(module): Missing imports argument [PASS] WebAssembly.instantiate(module): Imports argument with missing property: undefined [PASS] WebAssembly.instantiate(module): Imports argument with missing property: empty object [PASS] WebAssembly.instantiate(module): Imports argument with missing property: wrong property [PASS] WebAssembly.instantiate(module): Importing a function with an incorrectly-typed value: undefined [PASS] WebAssembly.instantiate(module): Importing a function with an
test-linux (ubuntu-24.04-arm): test/parallel/test-v8-serdes.js#L200
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: New serialization format. This test is expected to fail when V8 changes its serialization format. When that happens, the "desStr" variable must be updated to the new value and the change should be mentioned in the release notes, as it is semver-major. Consider opening an issue as a heads up at https://github.com/nodejs/node/issues/new + actual - expected + 'ff106f2203666f6f5e007b01' - 'ff0f6f2203666f6f5e007b01' ^ at Object.<anonymous> (/home/runner/work/node-v8/node-v8/node/test/parallel/test-v8-serdes.js:200:10) at Module._compile (node:internal/modules/cjs/loader:1879:14) at Module._extensions..js (node:internal/modules/cjs/loader:2019:10) at Module.load (node:internal/modules/cjs/loader:1602:32) at Module._load (node:internal/modules/cjs/loader:1404:12) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { generatedMessage: false, code: 'ERR_ASSERTION', actual: 'ff106f2203666f6f5e007b01', expected: 'ff0f6f2203666f6f5e007b01', operator: 'deepStrictEqual', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node --expose-internals /home/runner/work/node-v8/node-v8/node/test/parallel/test-v8-serdes.js
test-linux (ubuntu-24.04-arm): test/parallel/test-runner-v8-deserializer.mjs#L106
--- stdout --- Test failure: 'should not hang when buffer starts with v8Header followed by oversized length' Location: test/parallel/test-runner-v8-deserializer.mjs:95:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:106:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Test failure: 'should flush incomplete v8 frame as stdout and keep prior valid data' Location: test/parallel/test-runner-v8-deserializer.mjs:109:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'hello�\x0F\x00\x01\x00\x00' - 'helloÿ\x0F\x00\x01\x00\x00' ^ at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:116:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'hello�\x0F\x00\x01\x00\x00', expected: 'helloÿ\x0F\x00\x01\x00\x00', operator: 'strictEqual', diff: 'simple' } Test failure: 'should flush v8Header-only bytes as stdout when stream ends' Location: test/parallel/test-runner-v8-deserializer.mjs:119:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: '�\x0F' !== 'ÿ\x0F' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:123:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F', expected: 'ÿ\x0F', operator: 'strictEqual', diff: 'simple' } Test failure: 'should resync and parse valid messages after false v8 header' Location: test/parallel/test-runner-v8-deserializer.mjs:126:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:136:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Test failure: 'should preserve a false v8 header split across chunks' Location: test/parallel/test-runner-v8-deserializer.mjs:139:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:145:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Command: out/Release/node --expose-internals --no-warnings --
test-linux (ubuntu-24.04)
Process completed with exit code 2.
test-linux (ubuntu-24.04): test/wpt/test-wasm-jsapi.mjs#L0
--- stderr --- (node:206337) ExperimentalWarning: Importing WebAssembly module instances is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:206337) ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:206337) ExperimentalWarning: Importing WebAssembly module instances is an experimental feature and might change at any time /home/runner/work/node-v8/node-v8/node/test/common/wpt.js:850 throw new Error( ^ Error: Found 1 unexpected passes. Consider updating test/wpt/status/wasm/jsapi.json for these files: global/value-get-set.any.js:Calling setter without argument at process.<anonymous> (/home/runner/work/node-v8/node-v8/node/test/common/wpt.js:850:15) at process.emit (node:events:509:20) Node.js v27.0.0-pre --- stdout --- [SKIPPED] esm-integration/global-exports-live-bindings.tentative.any.js: Live bindings unsupported pending V8 WebAssemblyModuleRecord [SKIPPED] esm-integration/namespace-instance.tentative.any.js: pending https://github.com/nodejs/node/pull/59024 [SKIPPED] esm-integration/v128-tdz.tentative.any.js: v128 undefined Wasm bindings not yet supported in V8 [SKIPPED] exception/getArg.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/call.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/constructor.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/table.tentative.any.js: track - still tentative / unsupported [SKIPPED] function/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] global/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] idlharness.any.js: track - still tentative / unsupported [SKIPPED] memory/constructor-types.tentative.any.js: track - still tentative / unsupported [SKIPPED] memory/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] table/constructor-types.tentative.any.js: track - still tentative / unsupported [SKIPPED] table/type.tentative.any.js: track - still tentative / unsupported [SKIPPED] tag/type.tentative.any.js: track - still tentative / unsupported [PASS] WebAssembly.instantiate(module): Non-object imports argument: null [PASS] WebAssembly.instantiate(module): Non-object imports argument: true [PASS] WebAssembly.instantiate(module): Non-object imports argument: "" [PASS] WebAssembly.instantiate(module): Non-object imports argument: symbol "Symbol()" [PASS] WebAssembly.instantiate(module): Non-object imports argument: 1 [PASS] WebAssembly.instantiate(module): Non-object imports argument: 0.1 [PASS] WebAssembly.instantiate(module): Non-object imports argument: NaN [PASS] WebAssembly.instantiate(module): Non-object module: undefined [PASS] WebAssembly.instantiate(module): Non-object module: null [PASS] WebAssembly.instantiate(module): Non-object module: true [PASS] WebAssembly.instantiate(module): Non-object module: "" [PASS] WebAssembly.instantiate(module): Non-object module: symbol "Symbol()" [PASS] WebAssembly.instantiate(module): Non-object module: 1 [PASS] WebAssembly.instantiate(module): Non-object module: 0.1 [PASS] WebAssembly.instantiate(module): Non-object module: NaN [PASS] WebAssembly.instantiate(module): Missing imports argument [PASS] WebAssembly.instantiate(module): Imports argument with missing property: undefined [PASS] WebAssembly.instantiate(module): Imports argument with missing property: empty object [PASS] WebAssembly.instantiate(module): Imports argument with missing property: wrong property [PASS] WebAssembly.instantiate(module): Importing a function with an incorrectly-typed value: undefined [PASS] WebAssembly.instantiate(module): Importing a function with an incorrectly-typed value: null [PASS] WebAssembly.instantiate(module): Importing a function with an incorrectly-typed value: true [PASS] WebAssembly.instantiate(module): Importing a function with an incorrectly-typed value: "" [PASS] WebAs
test-linux (ubuntu-24.04): test/parallel/test-v8-serdes.js#L200
--- stderr --- node:internal/assert/utils:146 throw error; ^ AssertionError [ERR_ASSERTION]: New serialization format. This test is expected to fail when V8 changes its serialization format. When that happens, the "desStr" variable must be updated to the new value and the change should be mentioned in the release notes, as it is semver-major. Consider opening an issue as a heads up at https://github.com/nodejs/node/issues/new + actual - expected + 'ff106f2203666f6f5e007b01' - 'ff0f6f2203666f6f5e007b01' ^ at Object.<anonymous> (/home/runner/work/node-v8/node-v8/node/test/parallel/test-v8-serdes.js:200:10) at Module._compile (node:internal/modules/cjs/loader:1879:14) at Module._extensions..js (node:internal/modules/cjs/loader:2019:10) at Module.load (node:internal/modules/cjs/loader:1602:32) at Module._load (node:internal/modules/cjs/loader:1404:12) at wrapModuleLoad (node:internal/modules/cjs/loader:255:19) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { generatedMessage: false, code: 'ERR_ASSERTION', actual: 'ff106f2203666f6f5e007b01', expected: 'ff0f6f2203666f6f5e007b01', operator: 'deepStrictEqual', diff: 'simple' } Node.js v27.0.0-pre Command: out/Release/node --expose-internals /home/runner/work/node-v8/node-v8/node/test/parallel/test-v8-serdes.js
test-linux (ubuntu-24.04): test/parallel/test-runner-v8-deserializer.mjs#L106
--- stdout --- Test failure: 'should not hang when buffer starts with v8Header followed by oversized length' Location: test/parallel/test-runner-v8-deserializer.mjs:95:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:106:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Test failure: 'should flush incomplete v8 frame as stdout and keep prior valid data' Location: test/parallel/test-runner-v8-deserializer.mjs:109:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + 'hello�\x0F\x00\x01\x00\x00' - 'helloÿ\x0F\x00\x01\x00\x00' ^ at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:116:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: 'hello�\x0F\x00\x01\x00\x00', expected: 'helloÿ\x0F\x00\x01\x00\x00', operator: 'strictEqual', diff: 'simple' } Test failure: 'should flush v8Header-only bytes as stdout when stream ends' Location: test/parallel/test-runner-v8-deserializer.mjs:119:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: '�\x0F' !== 'ÿ\x0F' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:123:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F', expected: 'ÿ\x0F', operator: 'strictEqual', diff: 'simple' } Test failure: 'should resync and parse valid messages after false v8 header' Location: test/parallel/test-runner-v8-deserializer.mjs:126:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:136:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Test failure: 'should preserve a false v8 header split across chunks' Location: test/parallel/test-runner-v8-deserializer.mjs:139:3 AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + actual - expected + '�\x0F\x7F���' - 'ÿ\x0F\x7F���' at TestContext.<anonymous> (file:///home/runner/work/node-v8/node-v8/node/test/parallel/test-runner-v8-deserializer.mjs:145:12) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async Test.run (node:internal/test_runner/test:1389:7) at async Suite.processPendingSubtests (node:internal/test_runner/test:960:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: '�\x0F\x7F���', expected: 'ÿ\x0F\x7F���', operator: 'strictEqual', diff: 'simple' } Command: out/Release/node --expose-internals --no-warnings --