Skip to content
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

AssertionError when extracting tarball #80

Closed
Octogonapus opened this issue Nov 13, 2020 · 4 comments
Closed

AssertionError when extracting tarball #80

Octogonapus opened this issue Nov 13, 2020 · 4 comments

Comments

@Octogonapus
Copy link

Octogonapus commented Nov 13, 2020

We have started getting this exception today when extracting a tarball. We haven't touched our code or the tarball.

ERROR: LoadError: AssertionError: size == padded_size == 0
Stacktrace:
 [1] read_data(::IOStream, ::IOStream; size::Int64, buf::Array{UInt8,1}, tee::Base.DevNull) at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:544
 [2] #55 at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:556 [inlined]
 [3] open(::Tar.var"#55#56"{Int64,Array{UInt8,1},Base.DevNull,IOStream}, ::String; kwargs::Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:write,),Tuple{Bool}}}) at ./io.jl:325
 [4] #read_data#54 at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:555 [inlined]
 [5] (::Tar.var"#25#27"{Array{UInt8,1},Bool,IOStream,String})(::Tar.Header, ::Array{SubString{String},1}) at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:75
 [6] read_tarball(::Tar.var"#25#27"{Array{UInt8,1},Bool,IOStream,String}, ::Tar.var"#1#2", ::IOStream; buf::Array{UInt8,1}, skeleton::Base.DevNull) at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:333
 [7] extract_tarball(::Function, ::IOStream, ::String; buf::Array{UInt8,1}, skeleton::Base.DevNull, copy_symlinks::Bool) at /home/ciserver/.julia/packages/Tar/J6O2R/src/extract.jl:57
 [8] (::Tar.var"#75#78"{String,IOStream,Tar.var"#1#2"})(::Base.DevNull) at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:205
 [9] arg_write(::Tar.var"#75#78"{String,IOStream,Tar.var"#1#2"}, ::Base.DevNull) at /home/ciserver/.julia/packages/ArgTools/4vlk9/src/ArgTools.jl:94
 [10] (::Tar.var"#74#77"{IOStream,Tar.var"#1#2"})(::String) at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:204
 [11] arg_mkdir(::Tar.var"#74#77"{IOStream,Tar.var"#1#2"}, ::String) at /home/ciserver/.julia/packages/ArgTools/4vlk9/src/ArgTools.jl:145
 [12] #73 at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:200 [inlined]
 [13] open(::Tar.var"#73#76"{Tar.var"#1#2",String}, ::String; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at ./io.jl:325
 [14] open(::Function, ::String) at ./io.jl:323
 [15] arg_read at /home/ciserver/.julia/packages/ArgTools/4vlk9/src/ArgTools.jl:42 [inlined]
 [16] extract(::Function, ::String, ::String; skeleton::Nothing, copy_symlinks::Nothing) at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:199
 [17] #extract#79 at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:221 [inlined]
 [18] extract at /home/ciserver/.julia/packages/Tar/J6O2R/src/Tar.jl:221 [inlined]

Any ideas what could cause this?
We are using Julia 1.5.2 and Tar 1.8.0

@StefanKarpinski
Copy link
Member

Hmm. That's perplexing. We had a bug like that which got fixed, I guess there may be an even more difficult case. How is extract being called? Is the input a stream or a file or what?

@Octogonapus
Copy link
Author

Octogonapus commented Nov 13, 2020

There was a invalid/corrupt (not sure) depot locally that caused this. Wiping it fixed the issue. We called extract with two strings (so a local tar file).

@StefanKarpinski
Copy link
Member

It still shouldn't be possible for this assertion to fail. If you could supply a tarball that triggers this, it would be greatly appreciated.

@olegshtch
Copy link

@StefanKarpinski Maybe not related but I got same error in JuliaPackaging/Yggdrasil#5781

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants