![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump node in DEPS to v22.15.0 * inspector: fix GN build https://github.com/nodejs/node/pull/56798 * test: search cctest files https://github.com/nodejs/node/pull/56791 * crypto: fix missing OPENSSL_NO_ENGINE guard https://github.com/nodejs/node/pull/57012 * test,crypto: make tests work for BoringSSL https://github.com/nodejs/node/pull/57021 * module: use synchronous hooks for preparsing in import(cjs) https://github.com/nodejs/node/pull/55698 * deps: update simdjson to 3.12.0 https://github.com/nodejs/node/pull/56874 * build: remove explicit linker call to libm on macOS https://github.com/nodejs/node/pull/56901 * test: make eval snapshot comparison more flexible https://github.com/nodejs/node/pull/57020 * src: allow embedder customization of OOMErrorHandler https://github.com/nodejs/node/pull/57325 * src: do not pass nullptr to std::string ctor https://github.com/nodejs/node/pull/57354 * src: lock the isolate properly in IsolateData destructor https://github.com/nodejs/node/pull/57031 * chore: shrink --trace-atomics-wait patch * chore: fixup patch indices * build: fix GN build failure https://github.com/nodejs/node/pull/57013 * crypto: expose security levels https://github.com/nodejs/node/pull/56601 * zlib: add zstd support https://github.com/nodejs/node/pull/52100 * test: move crypto related common utilities in common/crypto https://github.com/nodejs/node/pull/56714 * cli: move --trace-atomics-wait to eol https://github.com/nodejs/node/pull/52747 * test: disable test-https-client-renegotiation-limit BoringSSL doesn't support caller-initiated renegotiation - see https://source.chromium.org/chromium/chromium/src/+/main:third_party/boringssl/src/ssl/ssl_lib.cc;l=1627-1631 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
26 lines
1.1 KiB
Diff
26 lines
1.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Maddock <smaddock@slack-corp.com>
|
|
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 9f6fa646ba6673f67f5f625e157ed850633a26da..63a462876c00588d22abdd6ed8ee41ecf6590d03 100644
|
|
--- a/src/node.cc
|
|
+++ b/src/node.cc
|
|
@@ -1173,7 +1173,7 @@ InitializeOncePerProcessInternal(const std::vector<std::string>& 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();
|