-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Closed
Closed
Copy link
Labels
async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.
Description
- Version:
Node v14.15.0 (also reproducible onmaster
, 831f4c7) - Platform:
Linux (uname -a
: Linux apechkurov-laptop 5.4.0-52-generic Fix for path.resolve containing relative path to another drive in windowsΒ #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux) - Subsystem:
async_hooks
What steps will reproduce the bug?
'use strict';
const { AsyncLocalStorage } = require('async_hooks');
const als = new AsyncLocalStorage();
function run(count) {
if (count !== 0) {
return als.run({}, run, --count);
}
}
run(1000);
It's enough to run this script with node --stack-size=100 async-hooks-crash.js
.
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior?
RangeError: Maximum call stack size exceeded
should be reported in the crash output:
$ node --stack-size=100 async-hooks-crash.js
...
RangeError: Maximum call stack size exceeded
...
What do you see instead?
$ node --stack-size=100 async-hooks-crash.js
Error: async hook stack has become corrupted (actual: 111, expected: 70)
1: 0x97e352 node::AsyncHooks::pop_async_context(double) [node]
2: 0x979587 node::AsyncWrap::PopAsyncContext(v8::FunctionCallbackInfo<v8::Value> const&) [node]
3: 0xbe369b [node]
4: 0xbe4c46 [node]
5: 0xbe52c6 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [node]
6: 0x13ff259 [node]
Additional information
This issue was observed in CI runs for #34573 and #35779
Refs: #15448 (the condition is different and that issue was fixed a long time ago)
mmomtchev and chentsulin
Metadata
Metadata
Assignees
Labels
async_hooksIssues and PRs related to the async hooks subsystem.Issues and PRs related to the async hooks subsystem.