fix: event with invalid timestamp in trace log (#31349)

When node is started within Electron's environment it doesn't
initialize v8 and time of v8's start is never set. As a result
we log v8's start time as 0 and it breaks timestamps in the
trace log. With this change we log v8's start time only when
it was initialized by node.
This commit is contained in:
CezaryKulakowski 2021-10-14 16:08:34 +02:00 committed by GitHub
parent d1e0b6324a
commit 11db6a7d9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 0 deletions

View file

@ -23,3 +23,4 @@ add_should_read_node_options_from_env_option_to_disable_node_options.patch
repl_fix_crash_when_sharedarraybuffer_disabled.patch
fix_readbarrier_undefined_symbol_error_on_woa_arm64.patch
chore_fix_-wimplicit-fallthrough.patch
fix_event_with_invalid_timestamp_in_trace_log.patch

View file

@ -0,0 +1,28 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Cezary Kulakowski <cezary@openfin.co>
Date: Fri, 8 Oct 2021 11:18:58 +0200
Subject: fix: event with invalid timestamp in trace log
When node is started within Electron's environment it doesn't
initialize v8 and time of v8's start is never set. As a result
we log v8's start time as 0 and it breaks timestamps in the
trace log. With this change we log v8's start time only when
it was initialized by node.
diff --git a/src/env.cc b/src/env.cc
index 16af6aec3791df1363682f1ed024c52208b9a8f6..ada0faa93bc223ffbea79a4308796df73ea8ae4e 100644
--- a/src/env.cc
+++ b/src/env.cc
@@ -461,8 +461,10 @@ void Environment::InitializeMainContext(Local<Context> context,
environment_start_time_);
performance_state_->Mark(performance::NODE_PERFORMANCE_MILESTONE_NODE_START,
per_process::node_start_time);
- performance_state_->Mark(performance::NODE_PERFORMANCE_MILESTONE_V8_START,
- performance::performance_v8_start);
+ if (per_process::v8_initialized) {
+ performance_state_->Mark(performance::NODE_PERFORMANCE_MILESTONE_V8_START,
+ performance::performance_v8_start);
+ }
}
Environment::~Environment() {