-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
process: inspect error in case of a fatal exception #27243
Conversation
This comment has been minimized.
This comment has been minimized.
0e4eb06
to
82c44ca
Compare
This comment has been minimized.
This comment has been minimized.
@nodejs/process @nodejs/util PTAL |
This is IMO quite a decent change and it would be great to get some reviews! |
@BridgeAR the actual changes LGTM (and I'm for them in general) but I'm hesitant to approve because:
|
The error message stays identical to the one before. The message printed to
I guess you mean in case someone checks error messages from a child_process? I doubt that this really requires any changes since it's not possible to match the whole Just running CITGM to be cautious: This PR: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1828/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but I’d also prefer to be careful and maybe land this as a semver-major change? I could definitely see this forcing people to change tests…
@nodejs/tsc PTAL, especially about the semverness. (CITGM is clean and this change should have little programmatic influence) |
This comment has been minimized.
This comment has been minimized.
If the textual output is the same, I don't think this is a semver issue to produce color escape codes for environments that report that they accept colors. If you are automatically interpreting the output, you're almost certainly piping it or writing it to a file in a way that won't report color escape code acceptance. |
@Fishrock123 the textual output is mostly identical. In case the error had extra properties (e.g., all Node.js core errors have the |
This comment has been minimized.
This comment has been minimized.
This fails in the custom builds while it should pass. It seems our custom suite has some trouble right now. |
This comment has been minimized.
This comment has been minimized.
0cb37e2
to
03a4d83
Compare
Rebased due to issues with our CI not properly rebasing. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This could use another review. |
an fatal -> a fatal |
This makes sure that errors that shut down the application are inspected with `util.inspect()`. That makes sure that all extra properties on the error will be visible and also that the stack trace is highlighted (Node.js internal frames will be grey and node modules are underlined).
24543c1
to
f044b21
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
CI: https://ci.nodejs.org/job/node-test-pull-request/22921/ ✅ (besides Windows) |
@addaleax are you fine if I land this as is with the labels as they are? |
@nodejs/tsc I would like to land this soon as semver-minor. If no one brings up any concerns up to the 15th, I would keep the labels as they are and land this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The actual change/feature seems all right to me. Not sure about semver-ness and will defer to others on that.
This makes sure that errors that shut down the application are inspected with `util.inspect()`. That makes sure that all extra properties on the error will be visible and also that the stack trace is highlighted (Node.js internal frames will be grey and node modules are underlined). PR-URL: nodejs#27243 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Thanks a lot for the reviews! Landed in a9f518c 🎉 |
This makes sure that errors that shut down the application are inspected with `util.inspect()`. That makes sure that all extra properties on the error will be visible and also that the stack trace is highlighted (Node.js internal frames will be grey and node modules are underlined). PR-URL: #27243 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Notable changes: * process: * Log errors using `util.inspect` in case of fatal exceptions (Ruben Bridgewater) #27243 * repl: * Add `process.on('uncaughtException')` support (Ruben Bridgewater) #27151 * stream: * Implemented `Readable.from` async iterator utility (Guy Bedford) #27660 * tls: * Expose built-in root certificates (Ben Noordhuis) #26415 * Support `net.Server` options (Luigi Pinca) #27665 * Expose `keylog` event on TLSSocket (Alba Mendez) #27654 * worker: * Added the ability to unshift messages from the `MessagePort` (Anna Henningsen) #27294
Notable changes: * esm: * Added the `--experimental-wasm-modules` flag to support WebAssembly modules (Myles Borins & Guy Bedford) #27659 * process: * Log errors using `util.inspect` in case of fatal exceptions (Ruben Bridgewater) #27243 * repl: * Add `process.on('uncaughtException')` support (Ruben Bridgewater) #27151 * stream: * Implemented `Readable.from` async iterator utility (Guy Bedford) #27660 * tls: * Expose built-in root certificates (Ben Noordhuis) #26415 * Support `net.Server` options (Luigi Pinca) #27665 * Expose `keylog` event on TLSSocket (Alba Mendez) #27654 * worker: * Added the ability to unshift messages from the `MessagePort` (Anna Henningsen) #27294 PR-URL: #27799
Notable changes: * esm: * Added the `--experimental-wasm-modules` flag to support WebAssembly modules (Myles Borins & Guy Bedford) #27659 * process: * Log errors using `util.inspect` in case of fatal exceptions (Ruben Bridgewater) #27243 * repl: * Add `process.on('uncaughtException')` support (Ruben Bridgewater) #27151 * stream: * Implemented `Readable.from` async iterator utility (Guy Bedford) #27660 * tls: * Expose built-in root certificates (Ben Noordhuis) #26415 * Support `net.Server` options (Luigi Pinca) #27665 * Expose `keylog` event on TLSSocket (Alba Mendez) #27654 * worker: * Added the ability to unshift messages from the `MessagePort` (Anna Henningsen) #27294 PR-URL: #27799
This makes sure that errors that shut down the application are
inspected with
util.inspect()
. That makes sure that all extraproperties on the error will be visible and also that the stack trace
is highlighted (Node.js internal frames will be grey and node modules
are underlined).
That should overall improve the debugging experience for users.
This should be semver-minor, since this only applies in case of an
fatal exception and it always ends up for the actual application user.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passes