From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Tue, 22 Oct 2019 11:00:01 -0700 Subject: fix: call InitializeContextRuntime in InitializeContext Since https://github.com/nodejs/node/commit/1ec4154e507ba71d7aefca0a6e5c155be34e989a, we observed a crash in renderer process initialization becuase we don't directly call NewContext, and so InitializeContext would not create primordials correctly and the following error would occur: node::Environment::CreateProperties(): Assertion `primordials->IsObject()' failed. This fixes that. See https://github.com/electron/electron/pull/20684. diff --git a/src/api/environment.cc b/src/api/environment.cc index 50886f4a998f1e7f346a6b7fad91ce49c3a7cdff..6ec07527ad7a806f889d884507e9def1cf68b4c8 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -371,8 +371,6 @@ Local NewContext(Isolate* isolate, return Local(); } - InitializeContextRuntime(context); - return context; } @@ -457,6 +455,11 @@ bool InitializeContext(Local context) { } } + // This must be called here because embedders don't necessarily run + // NewContext, so when InitializeContext is called this might never + // otherwise be called + InitializeContextRuntime(context); + return true; }