coreos/torcx

failed to unpack: gzip: invalid header

Closed this issue · 6 comments

There is a strange behavior with my custom image:
/usr/lib64/systemd/system-generators/torcx-generator[511]: time="2018-06-04T08:52:05Z" level=error msg="failed to unpack: gzip: invalid header" image=docker-custom reference=com.coreos.cl
It happens if I create archive like this:

archive.tgz:
  bin/
  ./torcx

When I add an extra dir like this:

archive.tgz:
  docker-custom/
     bin/
     .torcx/

generator extracts it fine but with this extra dir in path. How to fix it? Is there any guide how to prepare images?
b.t.w. I can extract both archives using tar without issues

lucab commented

Can you share the image somewhere? How are you packing that?

@lucab I took the docker:18.05.torcx.tgz image from /usr/share/torcx/store, extracted it, updated the containerd binaries and created a new archive using tar -cvf docker:18.99.torcx.tgz /path/to/dir, made symlink docker-custom:com.coreos.cl.torcx.tgz to it.

lucab commented

@IvanovOleg try with tar -czvf ..., the archive you created is likely a plain non-gzipped tar, thus the error. A file run on it should be able to confirm that.

@lucab Yes, that fixed an issue. According to the log vendor images propagated it's binaries first and then docker-custom propagated it's binaries, but in /run/torcx/bin links point to the docker binaries, not docker-custom binaries. Do you know why?

lucab commented

You should not have two images trying to expose the same binary at the same time. First disable the one you don't need.

@lucab Thanks!