X Tutup
The Wayback Machine - https://web.archive.org/web/20210827213426/https://github.com/nodejs/node/commit/65e8864fa3
Skip to content
Permalink
Browse files
worker: send correct error status for worker init
When the worker is created, in case of failure when a separate isolate
is not able to get created, we tend to throw out of memory error for
that worker which is not the case. Correct error code as per semantic
should be thrown which is in our case is `ERR_WORKER_INIT_FAILED`.

PR-URL: #36242
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
  • Loading branch information
yashLadha authored and aduh95 committed Mar 19, 2021
1 parent 361632d commit 65e8864fa39fb51250d63212548807589cba08f3
Showing with 2 additions and 6 deletions.
  1. +2 −6 src/node_worker.cc
@@ -150,9 +150,7 @@ class WorkerThreadData {

Isolate* isolate = Isolate::Allocate();
if (isolate == nullptr) {
// TODO(addaleax): This should be ERR_WORKER_INIT_FAILED,
// ERR_WORKER_OUT_OF_MEMORY is for reaching the per-Worker heap limit.
w->Exit(1, "ERR_WORKER_OUT_OF_MEMORY", "Failed to create new Isolate");
w->Exit(1, "ERR_WORKER_INIT_FAILED", "Failed to create new Isolate");
return;
}

@@ -298,9 +296,7 @@ void Worker::Run() {
TryCatch try_catch(isolate_);
context = NewContext(isolate_);
if (context.IsEmpty()) {
// TODO(addaleax): This should be ERR_WORKER_INIT_FAILED,
// ERR_WORKER_OUT_OF_MEMORY is for reaching the per-Worker heap limit.
Exit(1, "ERR_WORKER_OUT_OF_MEMORY", "Failed to create new Context");
Exit(1, "ERR_WORKER_INIT_FAILED", "Failed to create new Context");
return;
}
}

0 comments on commit 65e8864

Please sign in to comment.
X Tutup