From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Samuel Maddock Date: Thu, 27 Mar 2025 17:00:11 -0400 Subject: fix: cppgc initializing twice Refs https://chromium-review.googlesource.com/c/v8/v8/+/6333562 cppgc will now be initialized as part of V8::Initialize. For now, skip initialization if it's already been initialized. This can be removed/refactored once Node.js upgrades to a version of V8 containing the above CL. diff --git a/src/node.cc b/src/node.cc index bc670a6c8b5027417cdc35e1cd94a60f63fd342d..49a9670de72c222d6b4a681be001efb4a2651ea3 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1209,7 +1209,7 @@ InitializeOncePerProcessInternal(const std::vector& args, result->platform_ = per_process::v8_platform.Platform(); } - if (!(flags & ProcessInitializationFlags::kNoInitializeCppgc)) { + if (!(flags & ProcessInitializationFlags::kNoInitializeCppgc) && !cppgc::IsInitialized()) { v8::PageAllocator* allocator = nullptr; if (result->platform_ != nullptr) { allocator = result->platform_->GetPageAllocator();