-
-
Notifications
You must be signed in to change notification settings - Fork 269
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
Artifact hash errors on nightly 64-bit #3212
Comments
On Julia master Buildkite, Pkg tests are passing on x86_64-linux-gnu. So this could actually be a bug in the PR. |
Also fails on #3178 which I just updated. |
Interesting. They're still passing on Buildkite... what's different between Buildkite and GitHub Actions? The hardware, maybe? |
Tests passed on #3205 now... Something intermittent with GitHub serving bad stuff maybe..? |
We got a SHA failure in rr https://buildkite.com/julialang/julia-master/builds/17283#0183faf8-d50b-41b7-bffb-10f237f7b6c0. Not sure how useful it is though |
I'm able to reproduce this locally on x86 linux. I believe we might have a data race in this test. using Pkg.Artifacts
using Test
using TOML
using Pkg
path = mktempdir()
function torture()
while true
hash = create_artifact() do path
open(joinpath(path, "foo.txt"), "w") do io
print(io, "hello, world!")
end
end
artifacts_toml = joinpath(path, "Artifacts.toml")
bind_artifact!(artifacts_toml, "foo_txt", hash; force=true)
hash2 = create_artifact() do path
open(joinpath(path, "foo.txt"), "w") do io
print(io, "goodbye, world!")
end
end
@test_throws ErrorException bind_artifact!(artifacts_toml, "foo_txt", hash2)
# sleep(0.1)
@test artifact_hash("foo_txt", artifacts_toml) == hash
# sleep(0.1)
bind_artifact!(artifacts_toml, "foo_txt", hash2; force=true)
@test artifact_hash("foo_txt", artifacts_toml) == hash2
end
end
torture() Works for me, those sleeps make if fail less often and incresing them enough makes it pass. |
We need to clear this cache when modifying the TOML file. This should fix #3212. It might be nice to expose a `Base.drop_parsed_toml(path::String)` API so that I don't have to manually reach into `TOML_CACHE.d` here like this.
https://github.com/JuliaLang/Pkg.jl/actions/runs/3157873266/jobs/5139255214
Not sure what changed.
The text was updated successfully, but these errors were encountered: