Skip to content

test:unit fails with UnhandledPromiseRejection "Symbol(kExitCode)" on Node.js 20/22/24 #628

@ledsun

Description

@ledsun

Summary

rake npm:ruby-head-wasm-wasi:check currently fails during test:unit with an unhandled promise rejection whose reason is "Symbol(kExitCode)".

This looks separate from #314.
The original options.version issue is already fixed on current main, but the test suite still fails later with a different error.

Reproduction

rake npm:ruby-head-wasm-wasi:check

It can also be reproduced more directly with:

cd packages/npm-packages/ruby-wasm-wasi
RUBY_NPM_PACKAGE_ROOT=../ruby-head-wasm-wasi ./tools/run-test-unit.mjs

Observed on

  • Node.js 20.20.1
  • Node.js 22.11.0
  • Node.js 24.14.0

Current error

For example on Node.js 24.14.0:

(node:8538) ExperimentalWarning: WASI is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
node:internal/process/promises:392
      new UnhandledPromiseRejection(reason);
      ^

UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "Symbol(kExitCode)".
    at throwUnhandledRejectionsMode (node:internal/process/promises:392:7)
    at processPromiseRejections (node:internal/process/promises:475:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:32) {
  code: 'ERR_UNHANDLED_REJECTION'
}

Node.js v24.14.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions