-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
Set a unique java.io.tmpdir for each call to SANY #1959
Conversation
Codecov Report
@@ Coverage Diff @@
## unstable #1959 +/- ##
=========================================
Coverage 77.11% 77.12%
=========================================
Files 415 415
Lines 12695 12697 +2
Branches 570 586 +16
=========================================
+ Hits 9790 9792 +2
Misses 2905 2905
Continue to review full report at Codecov.
|
This should provide a workaround for the concurrency bug
5be90a9
to
5209289
Compare
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.
Just want to type this out, to wrap my head around it:
If loading from string sources, this will create $TMPDIR/sanyimpXXX
and write the string sources to that directory. Then it sets java.io.tmpdir
to $TMPDIR/sanyimpYYY
(where YYY
!= XXX
) and calls SANY, which writes its temporary files to the latter directory.
We're not doing the first part if loading directly from files, right?
If this is all accurate, feel free to merge :)
tla-io/src/main/scala/at/forsyte/apalache/tla/imp/SanyImporter.scala
Outdated
Show resolved
Hide resolved
That is all accurate! One temp |
….scala Co-authored-by: Thomas Pani <thomas@informal.systems>
This should provide a workaround for the concurrency bug noted
tlaplus/tlaplus#688, while we wait on an upstream fix.
Note that this only allows concurrent executions of SANY in parallel processes.
AFAICT, the deeper issue noted at
#1114 (comment)
will still prevent concurrent runs of SANY within the same JVM.