Closed BarDweller closed 3 years ago
@vrothberg PTAL
Can you try the latest master branch? The commit from your podman info
does not exist (https://github.com/containers/podman/commit/c79fee36146e1900149f7a32228f32614125c711).
I'm running against master, I've tried pulling/rebuilding podman a few times since, with no change.
Quick update here since @BarDweller and I were chatting in private to speed things up.
It seems like the tar archive is slightly off in that it declares a directory as a file (in the associated tar header). Now tar and Podman do not like that but Docker does. As we have to remain compatible, I am opening a PR against Buildah to catch that case.
I can't reproduce the "unexpected EOF". It looks like that first entry which you're attempting to name "/", to force the library to mark it as a directory, is being normalized by stripping off all initial "/" characters first, after which the library produces an entry for a regular file with a zero-length name. We've opened a PR to skip entries like that.
A friendly reminder that this issue had no activity for 30 days.
Since this error is not reproducible, I am going to close. Please try it out against the main branch, or see if you can reproduce on a different machine.
This happens every time for python's cibuildwheel
:
✓ pp39-manylinux_x86_64 finished in 18.59s
Copying wheels back to host...
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
✕ 0.89s
Error: Command docker exec -i cibuildwheel-19a7fd5d-a550-4233-be7a-89cfd4c580cd tar -cC /output -f - . | tar -xf - failed with code 2. None
Podman version
Version: 3.4.4
API Version: 3.4.4
Go Version: go1.17.3
Built: Thu Jan 1 00:00:00 1970
OS/Arch: linux/amd64
@yifeikong could share an exact reproducer? I have no idea what cibuildwheel
is but with a reproducer I may be able to track things down. There is a chance though that it may just work on my machine given the version of Podman (v3.4.4) you are using is a bit old.
@vrothberg Thanks for the pointer! I just updated podman to 4.x
and it works. I was using the version coming from Ubuntu 22.04 and didn't know that it was a very old version.
Glad it's working. Thanks for checking and reporting back!
/kind bug Description
Podman won't accept tar archive content that docker will via the copy archive to container command.
Steps to reproduce the issue:
Build code from https://gist.github.com/BarDweller/8d774c52781a7c29bad67d02736bc246
launch podman system service with loglevel debug
run code from step 1 against unix socket from 2, passing id of an existing container
Describe the results you received: Archive is not written into container requested, following error is seen in the podman system service log.
Error seems related to Schrodingers EOF ;)
error reading tar stream: expected EOF: unexpected EOF
Describe the results you expected:
Archive is accepted & written to container.
Additional information you deem important (e.g. issue happens only occasionally):
Same archive is accepted by docker.
Output of
podman version
:Output of
podman info --debug
:Package info (e.g. output of
rpm -q podman
orapt list podman
):Have you tested with the latest version of Podman and have you checked the Podman Troubleshooting Guide?
Yes
Additional environment details (AWS, VirtualBox, physical, etc.):