Skip to content

Commit

Permalink
worker: send correct error status for worker init
Browse files Browse the repository at this point in the history
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 65e8864
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions src/node_worker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down Expand Up @@ -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;
}
}
Expand Down

0 comments on commit 65e8864

Please sign in to comment.