DCHECK prevents debug build from starting

未关闭
#314 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
技术栈
cpp, node.js

调研方向

Start by running the reported out/Debug/node reproduction and inspect the stack path through node::fs::CreatePerIsolateProperties, CreateInternalBindingTemplates, and IsolateData::CreateProperties. Trace the DCHECK comparing the embedder field count with JSObject::kMaxEmbedderFields and confirm the debug build starts without the fatal check.

由索引模型根据 Issue 内容生成。

描述

Can be reproduced with https://github.com/nodejs/node/tree/canary-base in its current state.

➤ out/Debug/node


#
# Fatal error
# Debug check failed: count <= JSObject::kMaxEmbedderFields (7 vs. 6).
#
#
#
#FailureMessage Object: 0x16b32dbf8
----- Native stack trace -----

 1: 0x104bef964 node::DumpNativeBacktrace(__sFILE*) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 2: 0x104eab458 node::NodePlatform::GetStackTracePrinter()::$_0::operator()() const [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 3: 0x104eab414 node::NodePlatform::GetStackTracePrinter()::$_0::__invoke() [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 4: 0x107fb7618 V8_Fatal(char const*, ...) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 5: 0x107fb6edc v8::base::SetFatalFunction(void (*)(char const*, int, char const*)) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 6: 0x1099a913c v8::ObjectTemplate::SetInternalFieldCount(int) (.cold.1) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 7: 0x1051e1cf4 v8::ObjectTemplate::SetInternalFieldCount(int) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 8: 0x104d9b100 node::fs::CreatePerIsolateProperties(node::IsolateData*, v8::Local<v8::ObjectTemplate>) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
 9: 0x104d99fd4 _register_isolate_fs(node::IsolateData*, v8::Local<v8::ObjectTemplate>) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
10: 0x104ce43a4 node::binding::CreateInternalBindingTemplates(node::IsolateData*) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
11: 0x104c319c0 node::IsolateData::CreateProperties() [/Users/mzasso/git/nodejs/canary/out/Debug/node]
12: 0x104c339a8 node::IsolateData::IsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::SnapshotData const*, std::__1::shared_ptr<node::PerIsolateOptions>) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
13: 0x104c31d08 node::IsolateData::IsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::SnapshotData const*, std::__1::shared_ptr<node::PerIsolateOptions>) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
14: 0x104c31b34 node::IsolateData::CreateIsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::EmbedderSnapshotData const*, std::__1::shared_ptr<node::PerIsolateOptions>) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
15: 0x104b44db4 node::CreateIsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::EmbedderSnapshotData const*) [/Users/mzasso/git/nodejs/canary/out/Debug/node]
主要语言
Shell
星标
466
派生
75
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

nodejs/node-v8 的其他 Issue

查看 nodejs/node-v8 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。