Repository navigation
podman-in-podman: Error: timed out waiting for file: internal libpod error #13227
Copy link
Copy link
Closed
Closed
Copy link
Labels
flakesFlakes from Continuous IntegrationFlakes from Continuous Integrationlocked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.Assist humans wanting to comment on an old issue or PR with locked comments.
Description
Fedora CI is failing with:
Error: timed out waiting for file /var/lib/containers/storage/overlay-containers/SHA1/userdata/SHA2/exit/SHA1: internal libpod error
Miro Vadkerti pinged me about it last week but has not yet filed an issue because it's hard to reproduce. All I know is, this is podman-in-podman.
2022-02-08 18:06:06 mvadkert esm: it happens in a quite a lot of runs in CI, I will try to get a
reproducer tmrw
2022-02-08 18:06:13 mvadkert esm: our host runs
2022-02-08 18:07:39 mvadkert (me looking it up)
2022-02-08 18:09:02 mvadkert podman-3.4.4-1.fc35.x86_64
2022-02-08 18:09:22 esm mvadkert, which version of crun?
2022-02-08 18:09:25 esm https://github.com/containers/podman/issues/12262
2022-02-08 18:09:27 mvadkert and in container we we have podman-3.4.1-3.module_el8.6.0+954+963caf
36.x86_64
2022-02-08 18:09:38 mvadkert crun-1.4-1.fc35.x86_64
2022-02-08 18:09:41 esm oh no, this is podman-in-podman??
2022-02-08 18:09:47 mvadkert esm: yeah
2022-02-08 18:09:51 mvadkert esm: crun-1.2-1.module_el8.6.0+954+963caf36.x86_64
2022-02-08 18:09:57 mvadkert fc35 is the main host
2022-02-08 18:10:06 mvadkert in it we rune centos8 image
2022-02-08 18:10:09 mvadkert with podman
2022-02-08 18:10:24 mvadkert image is based on podman stable, but it is build on centos 8 stream
2022-02-08 18:10:38 mvadkert esm: it is rootless podman in privileged podman
2022-02-08 18:10:44 mvadkert esm: but the problem seems random
2022-02-08 18:11:10 mvadkert esm: or test tools runs podman start and then podman exec to run ins
ide the container commands
2022-02-08 18:11:17 mvadkert esm: anwyay, I will try to find some reproducer
2022-02-08 18:11:24 mvadkert it is quite common latel y :(
2022-02-08 18:12:09 esm check conmon maybe?
2022-02-08 18:12:28 mvadkert aconmon-2.0.30-2.fc35.x86_64
2022-02-08 18:12:36 â esm doesn't even want to think about what time it is in cz
2022-02-08 18:12:37 mvadkert conmon-2.0.30-1.module_el8.6.0+944+d413f95e.x86_64
2022-02-08 18:12:46 mvadkert esm: yeah, I am not really here :)
2022-02-08 18:12:48 esm oh, okay, that looks good
2022-02-08 18:12:57 mvadkert esm: will try to find some reproducer and I guess file it :)
2022-02-08 18:13:10 mvadkert esm: the erorrs are hidden a bit inside test failures
2022-02-08 18:13:18 mvadkert esm: so we did not spot it early enough
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
flakesFlakes from Continuous IntegrationFlakes from Continuous Integrationlocked - please file new issue/PRAssist humans wanting to comment on an old issue or PR with locked comments.Assist humans wanting to comment on an old issue or PR with locked comments.
Activity
thrix commentedon Feb 14, 2022
we hit this lot in Testing Farm here (Fedora CI, RHEL CI and CentOS Stream CI backend) for our
rpminspectruns:Currently, we run rootless
podmaninprivilged podman. The privileged podman container is:https://gitlab.com/testing-farm/gluetool-modules/-/blob/testing-farm/container/Dockerfile
quay.io/testing-farm/gluetool-modules:testing-farmIt is based on
centos:stream8image (in fork of podman):https://github.com/thrix/podman/blob/main/contrib/podmanimage/stable/Dockerfile.centos8
The privileged podman has:
I am trying to get some reasonable, more handy reproducer for the problem.
edsantiago commentedon Feb 14, 2022
The error "timed out waiting for file" seems to come from
utils.go:WaitForFile(), here:https://github.com/containers/podman/blob/38b19c112a8514136558aebf616705970017a8c9/libpod/util.go#L51-L96
mheon commentedon Feb 14, 2022
The reason for the error is that the expected exit file (written by Conmon) isn't materializing where we expect it to be. Impossible to say more about this without context - I'm not even sure if this is an exec session or a container causing the errors. More complete logs or, ideally, a reproducer would help.
thrix commentedon Feb 15, 2022
No luck reproducing this manually (at least for now) ... I believe the log has to come from the inside the first podman.
This is the log from there:
curl -LO http://artifacts.dev.testing-farm.io/0a5b9787-5896-42fc-a26e-b5a460b9b2c1/work-rpminspectIX9Qw4/log.txtyou can
| egrep '(podman|libpod)'on that file to see a bit more details on how we run podman (inside podman):Sorry it is a bit dense, trying hard to reproduce it by hand :(
Host podman is
podman-3.4.4-1.fc35.x86_64, in it we runpodman-3.4.1-3.module_el8.6.0+954+963caf36.x86_64Host podman is run like this: https://gitlab.com/testing-farm/infrastructure/-/blob/testing-farm/ansible/files/citool-container.sh#L36
thrix commentedon Feb 25, 2022
@mheon @edsantiago so I found a minimal reproducer. But I cannot hit the same problem on my localhost, just on our
i3.2xlargeAWS workers (I can give you access for debugging).With these commands I have no problems to hit the issue always (randomly on the last
podman exec:mheon commentedon Feb 25, 2022
@rhatdan You're the container-in-container expert - any ideas?
edsantiago commentedon Feb 28, 2022
Thank you Miro! I can easily reproduce with podman 4.x on rawhide. Two points:
#), not dollar|| breakin the last command:Without the break, output scrolls by too fast to notice.
Note that this is 100% a tty I/O problem: redirecting the
catmakes the problem go away. This might actually be super-reproducible on my end because I am ssh'ed in over a relatively slow (10Mbps) DSL connection. If you have trouble reproducing it, try some sort of bandwidth-throttling tool.thrix commentedon Feb 28, 2022
@edsantiago sorry forgot the good old
root/non-rootPS1 indication, fixed :)thrix commentedon Feb 28, 2022
@edsantiago glad you reproduced it, we are a step closer :)
edsantiago commentedon Mar 8, 2022
@containers/podman-maintainers this is really blowing up and causing problems everywhere, e.g. https://status.testing-farm.io/issues/2022-02-08-libpod-error/
How can we escalate this?
ahoereth commentedon Mar 15, 2022
Also running into this irregularity but frequently in our CI. We are not running "podman in podman", but only a single rootless podman layer. Let me know if any further details would be helpful here!
Podman compiled from source (as it is not available through apt for ubuntu 20.04):
mheon commentedon Mar 21, 2022
Can't reproduce on my laptop. Are the Echos and the
podman execsmeant to be going on at the same time, to cause a lot of disk IO?mheon commentedon Mar 21, 2022
Getting access to an environment that does reproduce would be useful. I strongly suspect this is tied to disk IO somehow, perhaps Conmon being starved of it? But just reading a large text file repeatedly shouldn't be enough to do that.
edsantiago commentedon Mar 21, 2022
Well, I can't reproduce it in today's 1minutetip environment. I have no idea what changed between Feb 28 (when I reproduced it) and today.
@mheon see my Feb 28 note for my suspicions about stdout, not disk I/O.
10 remaining items
tests: Try rm'ing container
tests: Retry rm'ing container
tests: Retry rm'ing container
tests: Retry rm'ing container
tests: Retry rm'ing container
tests: Retry rm'ing container
tests: Retry rm'ing container
Dragas commentedon Nov 30, 2022
I've managed to consistently reproduce the issue by writing a lengthy stream of data (think in gigabytes) via
dd if=/dev/random count=4294967296to stdout. Note that I'm also not running podman-in-podman setup, but rather an ubuntu server vm on windows host via vmware.I've noticed that if you don't overwhelm the output, podman seems to deal with lengthy streams just fine.