-
Notifications
You must be signed in to change notification settings - Fork 97
feat: Adding signal and external error detection & output #3856
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
feat: Adding signal and external error detection & output #3856
Conversation
… link between GEOS_THROW_CTX_IF and LVARRAY_THROW_IF_TEST( EXP, MSG, TYPE )
… in try/catch statements Problem: Retrieves everything that was thrown, so not just the message.
…/catch in main)": remove useless try/catch
…y spaces. The previous condition checked whether an argument was present and whether the option was immediately followed by a value like -test"value", which excluded valid cases like -test "value" et -test "value".
i more or less understand what is done here but don't really understand how it works, sorry |
|
@paveltomin thanks for the feedback, I'll work on the code clarity! |
wrtobin
left a comment
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.
My only note is we might prefer ExternalSignalHandler just for specificity/clarity vs our existing error handling mechanisms, but not a hard requirement.
|
I would like to keep the name general as this component does not process only signals, but also any message from external code (as an exemple, VTK error / warning messages). |
This PR is based on Amandine work on adding error YAML file in GEOS (PR #3828), and aims at adding a detection & management inside GEOS of 1. Error signals, 2. External errors from dependencies, in order to be able to manage & output them in the log & error YAML file.
Managing those external errors gives us the opportunity to:
Without the pipe redirection proposed here, we encounter a lot of errors without any stacktrace and too minimalist (and sometimes even no message at all, just a cut log) on many HPC platforms and on the CI. The branch has been tested to provide the lacking info on many issues on P4.
This work also gives us the opportunity to tag later each dependency message (system, LvArray, Hypre, ...) to quickly identify / filter issues source.
(Replaces #3722)