Browse Source

build: try removing embedder exception patch (#45429)

Shelley Vohr 2 months ago
parent
commit
e3791311ab

+ 0 - 1
patches/node/.patches

@@ -29,7 +29,6 @@ fix_add_trusted_space_and_trusted_lo_space_to_the_v8_heap.patch
 win_process_avoid_assert_after_spawning_store_app_4152.patch
 chore_remove_use_of_deprecated_kmaxlength.patch
 src_update_default_v8_platform_to_override_functions_with_location.patch
-fix_capture_embedder_exceptions_before_entering_v8.patch
 spec_add_iterator_to_global_intrinsics.patch
 test_make_test-node-output-v8-warning_generic.patch
 test_match_wpt_streams_transferable_transform-stream-members_any_js.patch

+ 0 - 82
patches/node/fix_capture_embedder_exceptions_before_entering_v8.patch

@@ -1,82 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: deepak1556 <[email protected]>
-Date: Tue, 26 Dec 2023 02:10:42 +0900
-Subject: fix: capture embedder exceptions before entering V8
-
-Upstrem bug: https://github.com/nodejs/node-v8/issues/274
-
-The patch only addresses the callsites that triggered failing DCHECKS
-in the nodejs test suite. Need to be followed-up with upstream
-on the broader change as there maybe other callsites.
-
-diff --git a/src/handle_wrap.cc b/src/handle_wrap.cc
-index be02d4aaa04685cbd6a9ecfe082e38f179129ab5..277748a30bd97ae816d9ba1f2d73851a29b81010 100644
---- a/src/handle_wrap.cc
-+++ b/src/handle_wrap.cc
-@@ -148,6 +148,9 @@ void HandleWrap::OnClose(uv_handle_t* handle) {
-   wrap->OnClose();
-   wrap->handle_wrap_queue_.Remove();
- 
-+  if (env->isolate()->IsExecutionTerminating())
-+    return;
-+
-   if (!wrap->persistent().IsEmpty() &&
-       wrap->object()->Has(env->context(), env->handle_onclose_symbol())
-       .FromMaybe(false)) {
-diff --git a/src/node_contextify.cc b/src/node_contextify.cc
-index 8951cd378a9025f58fada47cf96f686d14639f95..6456d87d4202c013aafe071adbac06852b3ae2c1 100644
---- a/src/node_contextify.cc
-+++ b/src/node_contextify.cc
-@@ -487,6 +487,7 @@ bool ContextifyContext::IsStillInitializing(const ContextifyContext* ctx) {
- void ContextifyContext::PropertyGetterCallback(
-     Local<Name> property,
-     const PropertyCallbackInfo<Value>& args) {
-+  Environment* env = Environment::GetCurrent(args);
-   ContextifyContext* ctx = ContextifyContext::Get(args);
- 
-   // Still initializing
-@@ -494,6 +495,8 @@ void ContextifyContext::PropertyGetterCallback(
- 
-   Local<Context> context = ctx->context();
-   Local<Object> sandbox = ctx->sandbox();
-+
-+  TryCatchScope try_catch(env);
-   MaybeLocal<Value> maybe_rv =
-       sandbox->GetRealNamedProperty(context, property);
-   if (maybe_rv.IsEmpty()) {
-@@ -503,6 +506,11 @@ void ContextifyContext::PropertyGetterCallback(
- 
-   Local<Value> rv;
-   if (maybe_rv.ToLocal(&rv)) {
-+    if (try_catch.HasCaught() &&
-+        !try_catch.HasTerminated()) {
-+      try_catch.ReThrow();
-+    }
-+
-     if (rv == sandbox)
-       rv = ctx->global_proxy();
- 
-diff --git a/src/node_messaging.cc b/src/node_messaging.cc
-index e7d2bfbafef13f04a73dcbefe7d6e90b37b904d1..31b870c5f003b62b848c00d6032ed98eb829778d 100644
---- a/src/node_messaging.cc
-+++ b/src/node_messaging.cc
-@@ -907,7 +907,7 @@ Maybe<bool> MessagePort::PostMessage(Environment* env,
-                                      const TransferList& transfer_v) {
-   Isolate* isolate = env->isolate();
-   Local<Object> obj = object(isolate);
--
-+  TryCatchScope try_catch(env);
-   std::shared_ptr<Message> msg = std::make_shared<Message>();
- 
-   // Per spec, we need to both check if transfer list has the source port, and
-@@ -915,6 +915,10 @@ Maybe<bool> MessagePort::PostMessage(Environment* env,
- 
-   Maybe<bool> serialization_maybe =
-       msg->Serialize(env, context, message_v, transfer_v, obj);
-+  if (try_catch.HasCaught() &&
-+      !try_catch.HasTerminated()) {
-+    try_catch.ReThrow();
-+  }
-   if (data_ == nullptr) {
-     return serialization_maybe;
-   }