nodejs / nodejs/node

Node 22.22.2 does not build without -DV8_SHARED_RO_HEAP anymore

オープン
#62,631 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る

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

v8 engine
主要言語
JavaScript
スター
122k
フォーク
37.4k
平均マージ
4日 3時間
マージ済み PR(30日)
272

説明

Version

22.22.2

Platform
FreeBSD factory-amd64 15.0-STABLE FreeBSD 15.0-STABLE amd64
Subsystem

No response

What steps will reproduce the bug?

Try to build node 22.22.2 without V8_SHARED_RO_HEAP (./configure --disable-shared-readonly-heap).
Building node 22.22.1 (before https://github.com/nodejs/node/commit/e3f4d6a42ece2643746761fd585d8e86c78ff711) is working fine.

How often does it reproduce? Is there a required condition?

Everytime you omit "-DV8_SHARED_RO_HEAP" flag.

What is the expected behavior? Why is that the expected behavior?

./configure --disable-shared-readonly-heap $REST_OF_CONFIG_FLAGS should work.
Successfully build ast-value-factory.o.

What do you see instead?
../deps/v8/src/ast/ast-value-factory.cc:86:66: error: too few arguments to function call, single argument 'object' was not specified
   86 |         raw_hash_field_, HashSeed(ReadOnlyHeap::GetReadOnlyRoots()));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
../deps/v8/src/heap/read-only-heap-inl.h:29:29: note: 'GetReadOnlyRoots' declared here
   29 | ReadOnlyRoots ReadOnlyHeap::GetReadOnlyRoots(Tagged<HeapObject> object) {
      |                             ^                ~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
gmake[2]: *** [tools/v8_gypfiles/v8_base_without_compiler.target.mk:1060: /wrkdirs/usr/ports/databases/mongosh/work/boxednode/mongosh/node-v22.22.2/out/Release/obj.target/v8_base_without_compiler/deps/v8/src/ast/ast-value-factory.o] Error 1
Additional information

Due to this commit:

deps/v8/src/ast/ast-value-factory.cc
https://github.com/nodejs/node/commit/e3f4d6a42ece2643746761fd585d8e86c78ff711#diff-de0e218f45b6aaea5a8dbf16b77ff82747642ad89cd7f4c84341a46dc5f8c2e3R85-R86

deps/v8/src/heap/read-only-heap-inl.h
https://github.com/nodejs/node/commit/e3f4d6a42ece2643746761fd585d8e86c78ff711#diff-0cacd7b4ec67ce10f0c6a7d78ff6ea42e33c9bfaff40dd4111d24a64528a337bR29-R38

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

deps/v8/src/ast/ast-value-factory.cc の ReadOnlyHeap::GetReadOnlyRoots 呼び出し付近から始め、deps/v8/src/heap/read-only-heap-inl.h と比較します。FreeBSD で ./configure --disable-shared-readonly-heap を使って再現し、その設定で Node をビルドします。完了の条件は、ast-value-factory.o と Node 全体のビルドが V8_SHARED_RO_HEAP なしで成功することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, nodejs
領域
build-system
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
明確に書かれている
初心者へのやさしさ
68/100

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

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