diff --git a/deps/v8/src/execution/messages.cc b/deps/v8/src/execution/messages.cc index 10d89ca14e8106..e6bb088ac0f777 100644 --- a/deps/v8/src/execution/messages.cc +++ b/deps/v8/src/execution/messages.cc @@ -306,7 +306,8 @@ MaybeHandle ErrorUtils::FormatStackTrace(Isolate* isolate, const bool in_recursion = isolate->formatting_stack_trace(); const bool has_overflowed = i::StackLimitCheck{isolate}.HasOverflowed(); Handle error_context; - if (!in_recursion && error->GetCreationContext().ToHandle(&error_context)) { + if (!in_recursion && !has_overflowed && + error->GetCreationContext().ToHandle(&error_context)) { DCHECK(error_context->IsNativeContext()); if (isolate->HasPrepareStackTraceCallback()) { @@ -322,7 +323,7 @@ MaybeHandle ErrorUtils::FormatStackTrace(Isolate* isolate, isolate->RunPrepareStackTraceCallback(error_context, error, sites), Object); return result; - } else if (!has_overflowed) { + } else { Handle global_error = handle(error_context->error_function(), isolate);