-
-
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 mismatch with P4est_jll on Julia v1.10 #3643
Comments
I want to ask you to do this: open(GzipDecompressorStream, artifact) do io
mktempdir() do tmp
Tar.extract(io, tmp)
run(`ls -Rl $tmp`)
end
end However, I don't know if you have GNU Get-ChildItem -Recurse | ForEach-Object {
$acl = Get-Acl $_.FullName
[PSCustomObject]@{
Path = $_.FullName
Access = $acl.AccessToString
}
} | Format-List which, is cool, but man that's a lot of text to replicate |
Blessedly, I have
|
The same error was reportedly encountered by @jmark on the Trixi.jl Slack. |
I'm getting similar tree hash mismatch errors when running PackageCompiler.jl CI tests on Windows, e.g. here |
As @giordano linked above, I'm encountering a similar error trying to use 1.10 for the first time today. In addition to the adwaita_icon_theme_jll error, I'm also getting one on iso_codes_jll upon re-trying to instantiate an hour later:
|
I would also like to add that this is preventing the installation of the
Currently the workaround I'm suggesting to users is to use Julia 1.9. |
I'd also note that iso_codes_jll is an artifact with ~1.6k monthly downloads, so this issue might be causing problems for a lot of 1.10 users on Windows. If I can provide any info that helps solving the issue, please let me know. |
As a workaround in the interim you should be able to set env var |
Yes, I know. But for the kind of user I'm suggesting the pop-up of a file dialog that's unfortunately not an option. |
I was able to work around this issue by turning on "Developer Mode" in the "For developers" settings on Windows 11. The issue with iso_codes_jll is that it contains symlinks. On Windows from what I can tell creating symlinks requires "Developer Mode" to be on. |
But why is that not a problem until Julia v1.9? |
Seems we need to bisect this? |
The main change affecting this from v1.9 is #3349 |
As in you've tested 1.10.0 with and without that commit? |
No, I haven't tested 1.10.0 without that commit. |
I've tested with 1.10.0-alpha1 and the error is there (and not on 1.9.4). |
A helpful thing to do would be to open a PR that adds a failing test for this |
Has anyone tried a reproducer with JULIA_DEBUG=Pkg on? There's a debug log in the artifact install step that might shed some light. |
I'm able to reproduce the bad hash for julia> ENV["BINARYPROVIDER_COPYDEREF"]="true"
"true"
julia> using Pkg
julia> Pkg.add("iso_codes_jll")
Resolving package versions...
Downloaded artifact: iso_codes
Downloaded artifact: iso_codes
ERROR: Unable to automatically download/install artifact 'iso_codes' from sources listed in '/home/nathan/.julia/packages/iso_codes_jll/wcUPz/Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/71f68a3d55d73f2e15a3969c241fae2349b1feb5
Error: Tree Hash Mismatch!
Expected git-tree-sha1: 71f68a3d55d73f2e15a3969c241fae2349b1feb5
Calculated git-tree-sha1: 409d6ac4c02dae43ff4fe576b5c5820d0386fb3f
- https://github.com/JuliaBinaryWrappers/iso_codes_jll.jl/releases/download/iso_codes-v4.11.0+0/iso_codes.v4.11.0.any.tar.gz
Error: Tree Hash Mismatch!
Expected git-tree-sha1: 71f68a3d55d73f2e15a3969c241fae2349b1feb5
Calculated git-tree-sha1: 409d6ac4c02dae43ff4fe576b5c5820d0386fb3f
|
Reverting 0fb323e seems to have resolved the problem.
|
This comment was marked as resolved.
This comment was marked as resolved.
So before 0fb323e which landed in 1.10.0 we didn't check the treehash of artifacts on Windows. I think there are two ways forward:
|
I'm not sure, that I understood correctly, but adding the P4est_jll doesn't fail by me using Julia 1.10.0. The only difference with original issue I see, that I'm using Julia 1.10 and not beta version, and I use Windows 11, not 10th.
Did I understand correctly what I suppose to do? |
@ArseniyKholod are you running as administrator or have you enabled Windows developer mode? |
* ignore tree hashes on Windows w/o symlink capability Step one of addressing #3643 * avoid test setting ENV to "nothing" * Revert "avoid test setting ENV to "nothing"" This reverts commit 5d98110. * fix logic on ignore_hash_env_set --------- Co-authored-by: Ian Butterworth <[email protected]>
* ignore tree hashes on Windows w/o symlink capability Step one of addressing #3643 * avoid test setting ENV to "nothing" * Revert "avoid test setting ENV to "nothing"" This reverts commit 5d98110. * fix logic on ignore_hash_env_set --------- Co-authored-by: Ian Butterworth <[email protected]> (cherry picked from commit b431875)
#3764 is now queued up for 1.10.1 JuliaLang/julia#52755 |
Thanks to @IanButterworth we now have Part 1 ready to go into 1.10.1 which means the time-critical part is done. 🥳 🎉 🎈 The next step that would be nice to do soonish would be to add unconditional checking of |
No, as long as I understand, Developer Mode is disabled in settings, Windows Powershell is running in user mode, not like administrator (in Task Manager Powershell has NO in Elevated column). |
#3764 introduces a new bug on Windows where installing an artifact can delete an existing artifact. Then in a second environment run
Finally back in the first environment:
This happens because if the hash is ignored. Line 348 in b431875
will delete |
This issue should be fixed on master and the upcoming v1.10.1 but if anyone wants to double check https://discourse.julialang.org/t/julia-1-10-1-testing-period/109805 |
Is there a windows binary for the release candidate available anywhere? |
I also the same in Trixi.jl . Where can I get the solution for this? I am using Julia v1.10 |
Which point release of Julia? 1.10.2 shod have addressed this. |
That issue appears to be an unrelated issue with permissions of your |
I think this issue can be closed. There are some next steps proposed here #3643 (comment) but the current situation seems reasonable of a warning that will work but be noisy enough to promote people not using symlinks in windows artifacts. |
Do you have any idea for how can I rectify the permission issue? I think the error I am getting maybe related to the warning. |
Please open another issue for that |
Actually, please don't open an issue, post a question on Julia discourse. |
I have posted in Julia discourse. |
@jgreener64 has just run into the "Tree Hash Mismatch!" error with Julia v1.10.2 in Edit: actually, I don't see symlinks in https://github.com/JuliaBinaryWrappers/NVTX_jll.jl/releases/download/NVTX-v3.1.0%2B2/NVTX.v3.1.0.x86_64-w64-mingw32.tar.gz, so the problem may be different 🤔 |
@giordano: can you open a new issue for that one with info about the tree hash and how to reproduce? |
I opened a new issue at #3856. |
* ignore tree hashes on Windows w/o symlink capability Step one of addressing #3643 * avoid test setting ENV to "nothing" * Revert "avoid test setting ENV to "nothing"" This reverts commit 5d98110. * fix logic on ignore_hash_env_set --------- Co-authored-by: Ian Butterworth <[email protected]>
I'm encountering an error when trying to install P4est_jll in Julia v1.10-beta2 (installed via juliaup) on two different Windows 10 machines - the issue is not encountered on v1.9.3:
Troubleshooting on Slack with @sloede and @fredrikekre:
The text was updated successfully, but these errors were encountered: