chore: better logging if Node initialization fails (#45286)

feat: better logging if Node initialization fails
This commit is contained in:
Charles Kerr 2025-01-23 08:55:28 -06:00 committed by GitHub
parent 863faea542
commit db7ef90159
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 74 additions and 21 deletions

View file

@ -649,7 +649,6 @@ std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
context->SetAlignedPointerInEmbedderData(kElectronContextEmbedderDataIndex,
static_cast<void*>(isolate_data));
node::Environment* env;
uint64_t env_flags = node::EnvironmentFlags::kDefaultFlags |
node::EnvironmentFlags::kHideConsoleWindows |
node::EnvironmentFlags::kNoGlobalSearchPaths |
@ -675,24 +674,10 @@ std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
env_flags |= node::EnvironmentFlags::kNoStartDebugSignalHandler;
}
{
v8::TryCatch try_catch(isolate);
env = node::CreateEnvironment(
static_cast<node::IsolateData*>(isolate_data), context, args, exec_args,
static_cast<node::EnvironmentFlags::Flags>(env_flags));
if (try_catch.HasCaught()) {
std::string err_msg =
"Failed to initialize node environment in process: " + process_type;
v8::Local<v8::Message> message = try_catch.Message();
std::string msg;
if (!message.IsEmpty() &&
gin::ConvertFromV8(isolate, message->Get(), &msg))
err_msg += " , with error: " + msg;
LOG(ERROR) << err_msg;
}
}
node::Environment* env = electron::util::CreateEnvironment(
isolate, static_cast<node::IsolateData*>(isolate_data), context, args,
exec_args, static_cast<node::EnvironmentFlags::Flags>(env_flags),
process_type);
DCHECK(env);
node::IsolateSettings is;