v8: Node 26.9.0 crashes with `Check failed: new_capacity > 0.` when `Error.stackTraceLimit` is set above 357913941 with `--trace-uncaught`
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 48/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- javascript, nodejs
- 領域
- backend
研究方向
在 Node v26.9.0 和 v26.8.2 上執行回報的命令,然後檢查 nodejs/node#65764,以及 FixedArray::RightTrimOrEmpty 和 CaptureAndSetErrorStack 對應的 V8 stack 項目。使用 import-meta-resolve 的 lib/errors.js 第 427-436 行作為應用程式觸發點;當 Error.stackTraceLimit 超過 357913941 時,reproducer 在使用 --trace-uncaught 的情況下不再當機,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Version
v26.9.0
Platform
Darwin 25.6.0 Darwin Kernel Version 25.6.0: Fri Jul 31 19:18:53 PDT 2026; root:xnu-12377.161.14~5/RELEASE_ARM64_T6031 arm64 arm Darwin
Subsystem
v8
What steps will reproduce the bug?
node --trace-uncaught -e 'Error.stackTraceLimit=Infinity; Error()'
How often does it reproduce? Is there a required condition?
Every time
What is the expected behavior? Why is that the expected behavior?
No crash
What do you see instead?
#
# Fatal error in , line 0
# Check failed: new_capacity > 0.
#
#
#
#FailureMessage Object: 0x16b45a7a8
----- Native stack trace -----
1: 0x104b48804 node::NodePlatform::GetStackTracePrinter()::$_0::__invoke() [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
2: 0x1066bf2bc V8_Fatal(char const*, ...) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
3: 0x1070c9f84 v8::internal::Handle<v8::internal::FixedArray> v8::internal::FixedArray::RightTrimOrEmpty<v8::internal::Handle>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::FixedArray>, unsigned int) (.cold.2) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
4: 0x1051d4884 v8::internal::Handle<v8::internal::FixedArray> v8::internal::FixedArray::RightTrimOrEmpty<v8::internal::Handle>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::FixedArray>, unsigned int) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
5: 0x104ea831c v8::internal::Isolate::CaptureAndSetErrorStack(v8::internal::DirectHandle<v8::internal::JSObject>, v8::internal::FrameSkipMode, v8::internal::Handle<v8::internal::Object>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
6: 0x104ec5510 v8::internal::ErrorUtils::Construct(v8::internal::Isolate*, v8::internal::DirectHandle<v8::internal::JSFunction>, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::FrameSkipMode, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::ErrorUtils::StackTraceCollection) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
7: 0x104d7d074 v8::internal::Builtin_ErrorConstructor(int, unsigned long*, v8::internal::Isolate*) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
8: 0x105a8cbec Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
9: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
10: 0x1059e6788 Builtins_JSEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
11: 0x1059e6478 Builtins_JSEntry [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
12: 0x104e97970 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
13: 0x104e97e54 v8::internal::Execution::CallScript(v8::internal::Isolate*, v8::internal::DirectHandle<v8::internal::JSFunction>, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::DirectHandle<v8::internal::Object>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
14: 0x104d1bb78 v8::Script::Run(v8::Local<v8::Context>, v8::Local<v8::Data>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
15: 0x104aa57b0 node::contextify::ContextifyScript::EvalMachine(v8::Local<v8::Context>, node::Environment*, long long, bool, bool, bool, v8::MicrotaskQueue*, v8::FunctionCallbackInfo<v8::Value> const&) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
16: 0x106fb1230 node::contextify::ContextifyScript::RunInContext(v8::FunctionCallbackInfo<v8::Value> const&) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
17: 0x1059eb20c Builtins_CallApiCallbackGeneric [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
18: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
19: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
20: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
21: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
22: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
23: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
24: 0x1059e9424 Builtins_InterpreterEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
25: 0x1059e6788 Builtins_JSEntryTrampoline [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
26: 0x1059e6478 Builtins_JSEntry [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
27: 0x104e97970 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
28: 0x104e97344 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::DirectHandle<v8::internal::Object>, v8::internal::DirectHandle<v8::internal::Object>, v8::base::Vector<v8::internal::DirectHandle<v8::internal::Object> const>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
29: 0x104d27794 v8::Function::Call(v8::Isolate*, v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
30: 0x104a8e334 node::builtins::BuiltinLoader::CompileAndCall(v8::Local<v8::Context>, char const*, node::Realm*) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
31: 0x106fe6db8 node::Realm::ExecuteBootstrapper(char const*) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
32: 0x106f9ee04 node::StartExecution(node::Environment*, char const*) (.cold.1) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
33: 0x104a6edc0 node::StartExecution(node::Environment*, char const*) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
34: 0x104a6ed38 node::StartExecution(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfoWithModule const&)>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
35: 0x1049b59d0 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfoWithModule const&)>, std::__1::function<void (node::Environment*, v8::Local<v8::Value>, v8::Local<v8::Value>)>) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
36: 0x106fdb5b8 node::NodeMainInstance::Run() (.cold.1) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
37: 0x104b03a5c node::NodeMainInstance::Run() [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
38: 0x104a732b4 node::Start(int, char**) [/Users/silverwind/.local/share/nodejs/v26.9.0/bin/node]
39: 0x18f5a04e4 start [/usr/lib/dyld]
[1] 45370 trace trap node -e 'Error.stackTraceLimit=Infinity; Error()'
Additional information
Any stack trace limit above 357913941 (2^32 / 12) triggers the crash. v26.8.2 does not crash. Requires --trace-uncaught to crash.
Likely culprit is https://github.com/nodejs/node/pull/65764
Popular module triggering the crash: https://github.com/wooorm/import-meta-resolve/blob/4.2.0/lib/errors.js#L427-L436
- 主要語言
- JavaScript
- 星號
- 122k
- 分支
- 38.4k
- 平均合併
- 4 天 10 小時
- 30 天內合併 PR
- 276
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
nodejs/node 的其他 Issue
-
doc
難度 1/5 1 小時以內 新手友好度 90/100
維護者通常 1 天內回覆
-
doc
難度 2/5 1-3 小時 新手友好度 65/100
維護者通常 1 天內回覆
-
build
難度 1/5 1 小時以內 新手友好度 88/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
nodejs/node#65994 · 2 則留言 · 2 個 reaction ·
維護者通常 1 天內回覆
-
feature request
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆
相似的 Issue
-
bug
難度 2/5 1-3 小時 新手友好度 75/100
keyxmakerx/Chronicle#967 ·
維護者通常 1 天內回覆
-
good first issue hacktoberfest
難度 1/5 1 小時以內 新手友好度 92/100
維護者通常 1 天內回覆
-
external-issue to-triage
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 84/100
LearningCircuit/local-deep-research#7067 ·
維護者通常 1 天內回覆