JuliaIO / Tar.jl

TAR files: create, list, extract them in pure Julia
MIT License
79 stars 19 forks source link

Mismatched tree hash #100

Closed tlienart closed 3 years ago

tlienart commented 3 years ago

With Julia nightly (1.7) on macOS while trying to run BinaryBuilder I got:

 This file is likely input to GNU Autoconf.
    The recommended options for GNU Autoconf are:
      ./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target}
    followed by `make` and `make install`. Since the prefix environment
    variable is set already, this will automatically perform the installation
    into the correct directory.
  Downloaded artifact: Rootfs.v2021.1.22.x86_64-linux-musl.unpacked
 Downloading artifact: Rootfs.v2021.1.22.x86_64-linux-musl.unpacked
[ Info: No hash cache found
[ Info: Calculated hash aac80e9ba2f6551fe5eee54c23de2a5bb0bc3d3173a591df0a1c67bab5b9fd55 for file /var/folders/7l/jw1mz6ps46b4mx7nggs_2xp0yf7h6l/T/jl_G4IYhZ-download.gz
[ Info: Unpacking /var/folders/7l/jw1mz6ps46b4mx7nggs_2xp0yf7h6l/T/jl_G4IYhZ-download.gz into /Users/tlienart/.julia/artifacts/jl_2Drgus...
┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   e61855d1fe79df053c1d5ebfe0c7e75e8b899b23
│   Calculated git-tree-sha1: eda8461663c15c9db3c6e79b7dda4e361b26dbfd
  Downloaded artifact: Rootfs.v2021.1.22.x86_64-linux-musl.unpacked
Unable to automatically install 'Rootfs.v2021.1.22.x86_64-linux-musl.unpacked' from 

This issue does not happen with 1.6 in similar setting. @giordano suggested to open an issue here suspecting it is the likely culprit.

giordano commented 3 years ago

For the record, I could reproduce the error on GitHub Actions with Julia nightly (1.7.0-DEV.907, commit d29126a43e):

Downloading artifact: Rootfs.v2021.1.22.x86_64-linux-musl.unpacked
[ Info: No hash cache found
[ Info: Calculated hash aac80e9ba2f6551fe5eee54c23de2a5bb0bc3d3173a591df0a1c67bab5b9fd55 for file /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/jl_WwpdIC-download.gz
[ Info: Unpacking /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/jl_WwpdIC-download.gz into /Users/runner/.julia/artifacts/jl_1FWC68...
┌ Error: Tree Hash Mismatch!
│   Expected git-tree-sha1:   e61855d1fe79df053c1d5ebfe0c7e75e8b899b23
│   Calculated git-tree-sha1: eda8461663c15c9db3c6e79b7dda4e361b26dbfd
└ @ Pkg.Artifacts /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.7/Pkg/src/Artifacts.jl:362
ERROR: Unable to automatically install 'Rootfs.v2021.1.22.x86_64-linux-musl.unpacked' from '/Users/runner/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/Artifacts.toml'
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Platform, verbose::Bool, quiet_download::Bool, io::IOContext{Base.PipeEndpoint})
   @ Pkg.Artifacts /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.7/Pkg/src/Artifacts.jl:439
 [3] ensure_artifact_installed(name::String, artifacts_toml::String; platform::Platform, pkg_uuid::Nothing, verbose::Bool, quiet_download::Bool, io::IOContext{Base.PipeEndpoint})
   @ Pkg.Artifacts /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.7/Pkg/src/Artifacts.jl:402
 [4] mount(cs::CompilerShard, build_prefix::String; verbose::Bool)
   @ BinaryBuilderBase ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/src/Rootfs.jl:256
 [5] import_docker_image(rootfs::CompilerShard, workspace_root::String; verbose::Bool)
   @ BinaryBuilderBase ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/src/DockerRunner.jl:51
 [6] DockerRunner(workspace_root::String; cwd::String, platform::Platform, workspaces::Vector{Any}, extra_env::Dict{String, String}, verbose::Bool, compiler_wrapper_path::String, toolchains_path::String, src_name::String, shards::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ BinaryBuilderBase ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/src/DockerRunner.jl:116
 [7] versioninfo(; name::Module, version::VersionNumber)
   @ BinaryBuilderBase ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/src/BinaryBuilderBase.jl:148
 [8] versioninfo()
   @ BinaryBuilderBase ~/work/BinaryBuilderBase.jl/BinaryBuilderBase.jl/src/BinaryBuilderBase.jl:101
 [9] top-level scope
   @ none:1

No problem on Linux

staticfloat commented 3 years ago

Turns out, this is a Pkg bug: https://github.com/JuliaLang/Pkg.jl/pull/2509