-
Notifications
You must be signed in to change notification settings - Fork 141
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
The merge operation could fail when there's channel exception for coverage files #802
Comments
It would be really helpful to have a reproducer for this, but I can see that being difficult to come up with. We have observed rare inconsistencies in the shared coverage ID file in the past that resulted in a crash, but never managed to identify the problem. I haven't seen cases of these exceptions being thrown yet, but will take another look at the code and check whether we can handle them (more) gracefully. |
@hadi88 Do you have stack traces that you could share? I can attempt a speculative fix that retries obtaining the lock in case of interrupts, but I would first like to confirm that this has a chance to fix the issue you are seeing. |
Initially, I observed a check failure in
This exception masks the root cause. When I changed the check failure into an if-condition, I observed the following two stack traces:
|
It would be interesting to learn what causes these exceptions. Is your fuzz test multi-threaded? Does your JVM support concurrent class loading? I am asking as I haven't seen these failures anywhere else yet and handling them properly isn't trivial. With more information, I might be able to come up with a reproducer. |
@hadi88 - I wrote to you about the other issue, same here. Ping me so we can look at it more closely together? |
We've observed that
CoverageIdStrategy.obtainFirstId
fails during the merge process withFileLockInterruptionException
,ClosedByInterruptException
, and other channels exceptions. Handling such exceptions could significantly improve robustness of the merge operation.Unfortunately, I don't have a reproducer for this issue.
The text was updated successfully, but these errors were encountered: