- 
                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
base: feature/amandinehry/create-yaml-file-and-structure-2
Are you sure you want to change the base?
feat: Adding signal and external error detection & output #3856
Conversation
…ger get cut by other ranks
…rnal errors + adding docs
…o feature/rey/signal-and-external-error-managment
…ate-yaml-file-and-structure' into feature/rey/signal-and-external-error-managment
…o feature/rey/signal-and-external-error-managment
…o feature/rey/signal-and-external-error-managment
…o feature/rey/signal-and-external-error-managment
…file-and-structure-2' into feature/rey/signal-and-external-error-managment
…file-and-structure-2' into feature/rey/signal-and-external-error-managment
…external-error-managment' into feature/rey/signal-and-external-error-managment-2
…nto feature/rey/signal-and-external-error-managment-2
…file-and-structure-2' into feature/rey/signal-and-external-error-managment-2
…file-and-structure-2' into feature/rey/signal-and-external-error-managment-2
| Can you give some output example in the description of your PR please | 
| GEOS_WARNING( "Failed to duplicate original descriptor: " + std::string( strerror( errno ) ) ); | ||
| } | ||
|  | ||
| // Redirect stderr to pipe | 
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.
| // Redirect stderr to pipe | |
| // make the deviation pipe point to what the original pipe point | 
| GEOS_WARNING( "Failed to redirect stream: " + std::string( strerror( errno ) ) ); | ||
| } | ||
|  | ||
| // Close the write end of the parent pipe (we write through stderr now) | 
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.
| // Close the write end of the parent pipe (we write through stderr now) | |
| // Close the writeEnd of the deviation pipe since the original pipe point to it | |
| we can now read through the pipe | 
| m_unprocessedData.reserve( 16384 ); | ||
|  | ||
| #ifdef __linux__ | ||
| ::fcntl( m_deviationPipe.readEnd(), F_SETPIPE_SZ, 1048576 ); | 
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.
| ::fcntl( m_deviationPipe.readEnd(), F_SETPIPE_SZ, 1048576 ); | |
| maybe add a comment for this line | 
| return instance; | ||
| } | ||
|  | ||
| void ExternalErrorHandler::enableStderrPipe( bool enable ) | 
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.
enableStderrPipeDeviation ?
…nto feature/rey/signal-and-external-error-managment-2
…nto feature/rey/signal-and-external-error-managment-2
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:
This PR also prevent the stacktrace to be cut by other ranks message, which could previously happen on a signal.
We can imagine adding later some tag for each dependency (system, LvArray, Hypre, ...) to quickly identify / filter issues source.
(Replaces #3722)