electron/patches/node/api_pass_oomdetails_to_oomerrorcallback.patch
electron-roller[bot] 1d9a4ab02c
chore: bump node to v18.13.0 (main) (#36818)
* chore: bump node in DEPS to v18.13.0

* child_process: validate arguments for null bytes

https://github.com/nodejs/node/pull/44782

* bootstrap: merge main thread and worker thread initializations

https://github.com/nodejs/node/pull/44869

* module: ensure relative requires work from deleted directories

https://github.com/nodejs/node/pull/42384

* src: add support for externally shared js builtins

https://github.com/nodejs/node/issues/44000

* lib: disambiguate `native module` to `binding`

https://github.com/nodejs/node/pull/45673

* test: convert test-debugger-pid to async/await

https://github.com/nodejs/node/pull/45179

* deps: upgrade to libuv 1.44.2

https://github.com/nodejs/node/pull/42340

* src: fix cppgc incompatibility in v8

https://github.com/nodejs/node/pull/43521

* src: use qualified `std::move` call in node_http2

https://github.com/nodejs/node/pull/45555

* build: fix env.h for cpp20

https://github.com/nodejs/node/pull/45516

* test: remove experimental-wasm-threads flag

https://github.com/nodejs/node/pull/45074

* src: iwyu in cleanup_queue.cc

https://github.com/nodejs/node/pull/44983

* src: add missing include for `std::all_of`

https://github.com/nodejs/node/pull/45541

* deps: update ICU to 72.1

https://github.com/nodejs/node/pull/45068

* chore: fixup patch indices

* chore: remove errant semicolons

- https://github.com/nodejs/node/pull/44179
- https://github.com/nodejs/node/pull/44193

* src: add support for externally shared js builtins

https://github.com/nodejs/node/pull/44376

* chore: add missing GN filenames

* deps: update nghttp2 to 1.51.0

https://github.com/nodejs/node/pull/45537

* chore: disable more Node.js snapshot tests

The Snapshot feature is currently disabled

* chore: disable ICU timezone tests

Node.js uses a different version of ICU than Electron so they
will often be out of sync.

* chore: disable threadpool event tracing test

Event tracing is not enabled in embedded Node.js

* chore: fixup patch indices

* chore: comments from review

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2023-01-11 11:33:48 +01:00

39 lines
1.7 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Wed, 12 Oct 2022 21:25:49 +0200
Subject: Pass OOMDetails to OOMErrorCallback
Introduced in https://chromium-review.googlesource.com/c/v8/v8/+/3647827.
This patch can be removed when Node.js updates to a V8 version containing
the above CL.
diff --git a/src/node_errors.cc b/src/node_errors.cc
index 323fc7d4ff635ca287ee241cee234da0600340a2..36ab78f739f3faecab47eead99f9aa3c403672c0 100644
--- a/src/node_errors.cc
+++ b/src/node_errors.cc
@@ -495,9 +495,9 @@ void OnFatalError(const char* location, const char* message) {
ABORT();
}
-void OOMErrorHandler(const char* location, bool is_heap_oom) {
+void OOMErrorHandler(const char* location, const v8::OOMDetails& details) {
const char* message =
- is_heap_oom ? "Allocation failed - JavaScript heap out of memory"
+ details.is_heap_oom ? "Allocation failed - JavaScript heap out of memory"
: "Allocation failed - process out of memory";
if (location) {
FPrintF(stderr, "FATAL ERROR: %s %s\n", location, message);
diff --git a/src/node_errors.h b/src/node_errors.h
index 926f54286ec72fda98a9a477ac8e22feef522291..f926cc1c70dd6f883c0729c46f09e10972ce6385 100644
--- a/src/node_errors.h
+++ b/src/node_errors.h
@@ -21,7 +21,7 @@ void AppendExceptionLine(Environment* env,
[[noreturn]] void FatalError(const char* location, const char* message);
void OnFatalError(const char* location, const char* message);
-void OOMErrorHandler(const char* location, bool is_heap_oom);
+void OOMErrorHandler(const char* location, const v8::OOMDetails& details);
// Helpers to construct errors similar to the ones provided by
// lib/internal/errors.js.