From cdb9c13b1e12ef8e52d9d2d99f2a548e39134a47 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 2 Nov 2023 02:06:00 +0100 Subject: [PATCH 1/3] src: use v8::Isolate::TryGetCurrent() in DumpJavaScriptBacktrace() It was using Isolate::GetCurrent() which DCHECK on nullptr, even though what we wanted was to return early if it is nullptr. --- src/debug_utils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/debug_utils.cc b/src/debug_utils.cc index 26f2a96831c137..d3436c62079e6a 100644 --- a/src/debug_utils.cc +++ b/src/debug_utils.cc @@ -319,7 +319,7 @@ void DumpNativeBacktrace(FILE* fp) { } void DumpJavaScriptBacktrace(FILE* fp) { - v8::Isolate* isolate = v8::Isolate::GetCurrent(); + v8::Isolate* isolate = v8::Isolate::TryGetCurrent(); if (isolate == nullptr) { return; } From 708664b66cfe4a6adcd6bd82bf9b515a2d1577b5 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Fri, 3 Nov 2023 12:24:38 +0000 Subject: [PATCH 2/3] fixup! src: use v8::Isolate::TryGetCurrent() in DumpJavaScriptBacktrace() --- test/cctest/test_util.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/cctest/test_util.cc b/test/cctest/test_util.cc index 5b83e07db3b7c2..a06bcda27c6da9 100644 --- a/test/cctest/test_util.cc +++ b/test/cctest/test_util.cc @@ -299,3 +299,8 @@ TEST(UtilTest, SPrintF) { const std::string with_zero = std::string("a") + '\0' + 'b'; EXPECT_EQ(SPrintF("%s", with_zero), with_zero); } + + +TEST(UtilTest, DumpJavaScriptStackWithNoIsolate) { + node::DumpJavaScriptBacktrace(stderr); +} From 7b506cd87db5c35b91b3da512ccf14b5ec47b01c Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 4 Nov 2023 19:15:50 +0000 Subject: [PATCH 3/3] fixup! fixup! src: use v8::Isolate::TryGetCurrent() in DumpJavaScriptBacktrace() --- test/cctest/test_util.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/test/cctest/test_util.cc b/test/cctest/test_util.cc index a06bcda27c6da9..c48803cff0337e 100644 --- a/test/cctest/test_util.cc +++ b/test/cctest/test_util.cc @@ -300,7 +300,6 @@ TEST(UtilTest, SPrintF) { EXPECT_EQ(SPrintF("%s", with_zero), with_zero); } - TEST(UtilTest, DumpJavaScriptStackWithNoIsolate) { node::DumpJavaScriptBacktrace(stderr); }