DCHECK prevents debug build from starting

Open
#314 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cpp, node.js

Research direction

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.

Written by the indexing model from the issue text.

Description

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]
Dominant language
Shell
Stars
466
Forks
75
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from nodejs/node-v8

All issues in nodejs/node-v8

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.