You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A different idea:
a LOG call should never throw (unless it can't actually log) because of a severity level. It's job is just to make a log entry.
The way it is now is just historical, but it is not good - it is not loggers job to terminate your program. Deprecate/remove it.
If you really want to have a fatal call which throws, call it Fatal() or FATAL macro, which would internally first call LOG, and then throw.
Yeah, I agree. But would this be a huge breaking change? Many programs would not be terminated in the emergency, which could cause lots of segmentation fault.
Could you post a stacktrace to see a bit more detail? Also, what is the corefile filename and does it contain anything meaningful? Perhaps the failure happens there already.
I wonder why the close(stderr) is needed at all. Perhaps it is aborting because it is closed already at that point?
Describe the bug
FairRoot/fairtools/FairLogger.cxx
Lines 192 to 203 in fa7108b
Here the program somehow call the
abort
when callingfclose(stderr)
in the if statement. Therefore, it never reaches to the throwing line.To Reproduce
Add a printout just above the throw statement and the printout message never gets printed.
Expected behavior
Let it throw
The text was updated successfully, but these errors were encountered: