DCHECK prevents debug build from starting

オープン
#314 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nodejs/node-v8 のほかの issue

nodejs/node-v8 の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。