-
Notifications
You must be signed in to change notification settings - Fork 34
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
Improve support of static initialization blocks and statically-reachable memory #389
Labels
Comments
Todo list for proper support of the static memory restoring:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, if a Lincheck test execution both:
it can lead to non-determinism error (the Lincheck would not be able to replay the execution trace, because the content of the static memory changed).
[Above by statically-reachable memory we mean any mutable state reachable from static variables.]
Note that during the test statically-reachable memory can be modified both by
<clinit>
),Thus, in order to fix possible non-determinism errors, we need to track modifications performed by
<clinit>
blocks, save them into trace, and manually re-perform them during replay (in the same order as in the original execution).The text was updated successfully, but these errors were encountered: