nodejs / nodejs/node

Node 22.22.2 does not build without -DV8_SHARED_RO_HEAP anymore

Offen
#62,631 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

v8 engine
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit deps/v8/src/ast/ast-value-factory.cc rund um den Aufruf von ReadOnlyHeap::GetReadOnlyRoots und vergleiche ihn mit deps/v8/src/heap/read-only-heap-inl.h. Reproduziere das mit ./configure --disable-shared-readonly-heap auf FreeBSD und baue anschließend Node mit dieser Konfiguration. Als abgeschlossen gilt die Aufgabe, wenn ast-value-factory.o und der vollständige Node-Build ohne V8_SHARED_RO_HEAP erfolgreich sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, nodejs
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.