-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
fix race condition in mv where the file might get removed after we checked its existance #42253
Conversation
…ecked its existance
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.
Thanks Kristoffer! :)
(We shared the following via other channels as well, but reporting here for good measure and other folks' benefit.) With this patch the failure mode changes to:
|
We just managed to get our CI pipeline testing the 1.6.3 candidate, and hit an analog under 1.6.3 likely due to the Pkg bump in df3d351. Relevant part of the stacktrace:
|
For those following along, the commit in Pkg.jl that introduced the issue has been reverted on Pkg.jl's release-1.6 and release-1.7 branches (via the two pull requests linked just above). #42282 brings the relevant Pkg.jl rev onto julialang/julia release-1.6 branch, and #42255 brings it onto the julialang/Julia release-1.7 branch. I'm not sure where that this leaves this pull request. Thoughts Kristoffer? Close this and address the issue more precisely on Pkg.jl master I imagine? :) |
This still looks like an improvement to me though? It turns a scenario from a fatal error to doing what is expected. |
👍 I defer to your better judgement, not being familiar with the subtleties (if any) of |
…ecked its existance (JuliaLang#42253)
…ecked its existance (JuliaLang#42253)
We've observed an error with the following stacktrace:
In short, the
rm
in the line changed in this PR errors because the file does not exist, even though we checked its existence a while earlier. This could be because some other process deleted it. Therefore, passforce=true
torm
so that it is not an error if the file has already been deleted.cc @Sacha0, @NHDaly