Repository navigation
Investigate flaky async-hooks.test-improper-unwind #58463
Description
Activity
- addedflaky-testIssues and PRs involving tests that fail intermittently in CI.Issues and PRs involving tests that fail intermittently in CI.
on May 26, 2025 - addedaixIssues and PRs related to the AIX platform.Issues and PRs related to the AIX platform.
on May 26, 2025 cc @nodejs/async_hooks
This doesn't look like it is related to async hooks.
A child process is spawned but the close event of child process doesn't provide the exit code.
Could be also some issue in child process on aix or some temp resource limitation that child process couldn't be started. properly.- addedchild_processIssues and PRs related to the child_process subsystem.Issues and PRs related to the child_process subsystem.async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.
on May 27, 2025 The child_process implementation in
shows that initially the signalCode and exitCode properties on the child process object are both set to null.node/lib/internal/child_process.js
Lines 262 to 275 in c969649
this.signalCode = null; this.exitCode = null; this.killed = false; this.spawnfile = null; this._handle = new Process(); this._handle[owner_symbol] = this; this._handle.onexit = (exitCode, signalCode) => { if (signalCode) { this.signalCode = signalCode; } else { this.exitCode = exitCode; } On exit:
- if signalCode is truthy
- just the signalCode property is set with the new value
- and the exitCode property remains null
- otherwise
- just the exitCode property is set with the new value
- and the signalCode property remains null
The child process is getting killed with a signal, that's why the 'close' callback is called with a null code and a truthy signal (we don't know what value this holds because it's not being logged). I think the test should log the signal and continue the assertions for now.
- if signalCode is truthy
- added a commit that references this issue
on May 27, 2025 Submitted a PR: #58478
- added a commit that references this issue
on May 27, 2025 I have also created a PR to update the child process docs with this info - #58479
- added 2 commits that reference this issue
on May 31, 2025 I can confirm that #58478 has fixed this issue.
This flake was appearing in the reliability report 2-4 times daily from 2025-05-23 - nodejs/reliability#1209 till 2025-06-01 nodejs/reliability#1218. The PR landed on 2025-05-29 and after the PRs where CI was being run on included this change, the flake went away in all recent reliability reports.
- added 2 commits that reference this issue
on Jun 10, 2025
Test
test/async-hooks/test-improper-unwind.jsPlatform
AIX
Console output
Build links
Additional information
No response