diff options
author | Gireesh Punathil <gpunathi@in.ibm.com> | 2018-09-05 10:06:59 -0400 |
---|---|---|
committer | Gireesh Punathil <gpunathi@in.ibm.com> | 2019-01-18 10:34:04 +0530 |
commit | 4f6797378eb6dd290dd5d8dc6417fea22d42ebad (patch) | |
tree | 88967037a1ba9aec47faea701efecf4f44007587 /src/node_errors.cc | |
parent | 01cd21973b26a2cbacbe143c5983cb4adf8e7681 (diff) | |
download | node-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.cc | 18 |
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(); } |