We should clear the error on the output stream to prevent the call to report_fatal_error from raw_fd_ostreams's destructor.
I couldn't think of a way to test this, do you think it's possible to have a test for this?
Differential D33357
Avoid calling report_fatal_error in the destructor of raw_fd_ostream when saving a module timestamp file arphaman on May 19 2017, 7:54 AM. Authored by
Details We should clear the error on the output stream to prevent the call to report_fatal_error from raw_fd_ostreams's destructor. I couldn't think of a way to test this, do you think it's possible to have a test for this?
Diff Detail
Event TimelineComment Actions Any idea why we're hitting this issue in the first place? The error that gets cleaned up is reported at some point before? Seems to me that we're going to fail to update the timestamp but continue as nothing happened, I wonder how many other issues this might trigger...
If you can come up with a testcase it would be awesome, but for this to trigger you'd have to reproduce the concurrent scenario in the testcase, which I don't see how. Comment Actions I don't know, I only have access to a crashlog without a reproducer.
It seems that I can't really test a failure on write/close unfortunately. |