summaryrefslogtreecommitdiff
path: root/src/node_errors.cc
diff options
context:
space:
mode:
authorGireesh Punathil <gpunathi@in.ibm.com>2018-09-05 10:06:59 -0400
committerGireesh Punathil <gpunathi@in.ibm.com>2019-01-18 10:34:04 +0530
commit4f6797378eb6dd290dd5d8dc6417fea22d42ebad (patch)
tree88967037a1ba9aec47faea701efecf4f44007587 /src/node_errors.cc
parent01cd21973b26a2cbacbe143c5983cb4adf8e7681 (diff)
downloadnode-new-4f6797378eb6dd290dd5d8dc6417fea22d42ebad.tar.gz
src: merge into core
Make node-report part of core runtime because: 1. When enabled, node-report significantly helps root cause various types of problems, including support issues sent to the various repos of the Node.js organization. 2. The requirement of explicitly adding the dependency to node-report in user applications often represents a blocker to adoption. Major deviation from the module version of the node-report is that the report is generated in JSON format, as opposed to human readable text. No new functionalities have been added, changes that are required for melding it as a built-in capability has been affected on the module version of node-report (https://github.com/nodejs/node-report) Co-authored-by: Bidisha Pyne <bidipyne@in.ibm.com> Co-authored-by: Howard Hellyer <hhellyer@uk.ibm.com> Co-authored-by: Jeremiah Senkpiel <fishrock123@rocketmail.com> Co-authored-by: Julian Alimin <dmastag@yahoo.com> Co-authored-by: Lakshmi Swetha Gopireddy <lakshmigopireddy@in.ibm.com> Co-authored-by: Manusaporn Treerungroj <m.treerungroj@gmail.com> Co-authored-by: Michael Dawson <michael_dawson@ca.ibm.com> Co-authored-by: Richard Chamberlain <richard_chamberlain@uk.ibm.com> Co-authored-by: Richard Lau <riclau@uk.ibm.com> Co-authored-by: Sam Roberts <vieuxtech@gmail.com> Co-authored-by: Vipin Menon <vipinmv1@in.ibm.com> PR-URL: https://github.com/nodejs/node/pull/22712 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <Michael_Dawson@ca.ibm.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Diffstat (limited to 'src/node_errors.cc')
-rw-r--r--src/node_errors.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/node_errors.cc b/src/node_errors.cc
index 9b55a0b921..3d607db2a8 100644
--- a/src/node_errors.cc
+++ b/src/node_errors.cc
@@ -3,6 +3,9 @@
#include "node_errors.h"
#include "node_internals.h"
+#ifdef NODE_REPORT
+#include "node_report.h"
+#endif
namespace node {
@@ -314,6 +317,21 @@ void OnFatalError(const char* location, const char* message) {
} else {
PrintErrorString("FATAL ERROR: %s\n", message);
}
+#ifdef NODE_REPORT
+ Isolate* isolate = Isolate::GetCurrent();
+ std::string filename;
+ Environment* env = Environment::GetCurrent(isolate);
+ if (env != nullptr) {
+ std::shared_ptr<PerIsolateOptions> options = env->isolate_data()->options();
+ if (options->report_on_fatalerror) {
+ report::TriggerNodeReport(
+ isolate, env, message, __func__, filename, Local<String>());
+ }
+ } else {
+ report::TriggerNodeReport(
+ isolate, nullptr, message, __func__, filename, Local<String>());
+ }
+#endif // NODE_REPORT
fflush(stderr);
ABORT();
}