test-snapshot-* fail with "CheckGlobalAndEternalHandles failed"

Aperta
#315 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
50/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, node.js

Direzione di ricerca

Start by reviewing the linked CI run and the snapshot creation path shown in the stack trace, especially node::SnapshotBuilder::CreateSnapshot. Reproduce with V8 15.9.23 by running the affected test-snapshot-* tests, then trace why the global handle is not serialized. Done means the snapshot tests and the named inspect and benchmark tests complete without the fatal error.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

With V8 15.9.23, test-snapshot-*, test-inspect-address-in-use and test-benchmark-v8 crash while building a snapshot.

parallel/test-snapshot-basic:

#
# Fatal error
# CheckGlobalAndEternalHandles failed
#
#
#
#FailureMessage Object: 0x7fff1154efe0
----- Native stack trace -----

 1: 0x55b1041bee12  [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 2: 0x55b106cf338f V8_Fatal(char const*, ...) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 3: 0x55b104be9390  [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 4: 0x55b10420f8b9 node::SnapshotBuilder::CreateSnapshot(node::SnapshotData*, node::CommonEnvironmentSetup*) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 5: 0x55b10420f280 node::BuildSnapshotWithoutCodeCache(node::SnapshotData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::optional<std::basic_string_view<char, std::char_traits<char> > >, node::SnapshotConfig const&) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 6: 0x55b10420ffa7 node::SnapshotBuilder::Generate(node::SnapshotData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::optional<std::basic_string_view<char, std::char_traits<char> > >, node::SnapshotConfig const&) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 7: 0x55b1040a5d4e node::GenerateAndWriteSnapshotData(node::SnapshotData const**, node::InitializationResultImpl const*) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 8: 0x55b1040a6875 node::Start(int, char**) [/home/runner/work/node-v8/node-v8/node/out/Release/node]
 9: 0x7f20b242a1ca  [/lib/x86_64-linux-gnu/libc.so.6]
10: 0x7f20b242a28b __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
11: 0x55b103f84dc5 _start [/home/runner/work/node-v8/node-v8/node/out/Release/node]

[process 178895]: --- stdout ---
(Global handles) handle not serialized: 0xf4c5113dcd1: [EphemeronHashTable] in OldSpace
 - FixedArray length: 67
 - elements: 1
 - deleted: 1
 - capacity: 32
 - elements: {
              7: 0x2dd89cccdd29 <Script> -> 0x2dd89cccf031 <Other heap object (WEAK_ARRAY_LIST_TYPE)>
 }

CI run: https://github.com/nodejs/node-v8/actions/runs/40665664178

Lingua principale
Shell
Stelle
468
Fork
75
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nodejs/node-v8

Tutte le issue di nodejs/node-v8

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.