-
Notifications
You must be signed in to change notification settings - Fork 60
Error: conversion error: error generating ACI: archive/tar: cannot encode header #259
Comments
The previous comment is false, the error is still in appc/docker2aci docker2aci/lib/internal/internal.go Line 629 in 365911f
Here, the |
fix tar header format after manipulating the Name and Linkname. Closes: appc#259 Signed-off-by: Shengjing Zhu <i@zhsj.me>
How did you build this |
@lucab tried myself, and I can confirm the binary on github release is fine. And the one built by Go 1.10 failed. The build method is nothing special, just |
Thanks for confirming, that's also the behavior I see with a local go-1.10 build. I reported the regression to golang/go#24821, and I'd be happier if this turns out to be directly fixed in |
This downgrade the golang toolchain used to build rkt, keeping it at go1.9. This is a temporary workaround for a go-1.10 regression in `archive/tar`. Ref: coreos/bugs#2402 Ref: appc/docker2aci#259 Ref: golang/go#24821
This downgrades the golang toolchain used to build rkt, keeping it at go1.9. This is a temporary workaround for a go-1.10 regression in `archive/tar`. Ref: coreos/bugs#2402 Ref: appc/docker2aci#259 Ref: golang/go#24821
This downgrades the golang toolchain used to build rkt, keeping it at go1.9. This is a temporary workaround for a go-1.10 regression in `archive/tar`. Ref: coreos/bugs#2402 Ref: appc/docker2aci#259 Ref: golang/go#24821
After manipulating the Name and Linkname, the orignal Header format may be invalid. Start from Go 1.10, the Header format is stored in the Header struct. >For forward compatibility, users that retrieve a Header from Reader.Next, >mutate it in some ways, and then pass it back to Writer.WriteHeader should >do so by creating a new Header and copying the fields that they are >interested in preserving. The copied fields are taken from all the fields presented in Go 1.6. Ref: golang/go#24821 Closes: appc#259 Signed-off-by: Shengjing Zhu <i@zhsj.me>
After manipulating the Name and Linkname, the orignal Header format may be invalid. Starting from Go 1.10, the Header format is stored in the Header struct. >For forward compatibility, users that retrieve a Header from Reader.Next, >mutate it in some ways, and then pass it back to Writer.WriteHeader should >do so by creating a new Header and copying the fields that they are >interested in preserving. The copied fields are taken from all the fields presented in Go 1.6. Ref: golang/go#24821 Closes: appc#259 Signed-off-by: Shengjing Zhu <i@zhsj.me>
This downgrades the golang toolchain used to build rkt, keeping it at go1.9. This is a temporary workaround for a go-1.10 regression in `archive/tar`. Ref: coreos/bugs#2402 Ref: appc/docker2aci#259 Ref: golang/go#24821
While running
docker2aci -debug docker://docker.elastic.co/kibana/kibana:6.1.3
it shows:The error comes from
docker2aci/lib/internal/internal.go
Line 632 in 365911f
t.Header.Format
isUSTAR
here. The call totar.WriteHeader
triggers the error.t.Header
is parsed fromdocker2aci/lib/internal/tarball/walk.go
Line 30 in 365911f
which is also from Go std lib
archive/tar
.So, I think the fault is not
docker2aci
. But shoulddokcer2aci
do some tricks to work around this?One approach is to unset the
t.Header.Format
, at least it works for me currently.Any suggestions?
The text was updated successfully, but these errors were encountered: