nodejs / nodejs/node

Node 22.22.2 does not build without -DV8_SHARED_RO_HEAP anymore

未关闭
#62,631 2 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

v8 engine
主要语言
JavaScript
星标
122k
派生
37.4k
平均合并
4 天 3 小时
30 天内合并 PR
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. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 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 摘要。