** Also affects: containerd-app (Ubuntu Noble)
Importance: Undecided
Status: New
** Description changed:
+ [ Impact ]
+
+ DEP8 tests fail, preventing containerd-app from migrating
+
+ [ Test plan ]
+
+ autopkgtests pass in the official infrastructure
+
+ [ Where problems could occur ]
+
+ The changes here are related to DEP8 tests only, which are already
+ failing ATM. The regression potential is reduced to rebuild and build
+ dependencies. Do note that the golang libraries for this package are
+ vendorized though.
+
+ [ Other Info ]
+
+ n/a
+
+ [ Original report ]
+
containerd is failing its autopkgtest on all architectures:
https://autopkgtest.ubuntu.com/results/autopkgtest-
questing/questing/ppc64el/c/containerd-app/20250720_134304_4ee75@/log.gz
This seems to be quite similar to LP: #2105839 and probably has the same
root cause, but that is riscv64 only, whereas this failure seems to be
afflicting all architectures and the logs are not exact.
From what I can tell from the log output, the basic-smoke autopkgtest
for containerd-app is failing on all architectures due to a race
condition attempting to use the ctr client before the containerd daemon
has finished starting.
I suspect that depending on the performance of the test architecture,
the failure manifests in one of two ways:
* On slower architectures (e.g., riscv64), the client times out trying
to connect to the daemon socket. This is documented in bug #2105839.
* On faster architectures (e.g., ppc64el), the client fails immediately
with a "no such file or directory" error because the socket has not yet
been created.
[Root Cause]
The flaw is in the debian/tests/basic-smoke script. It executes the following
commands in sequence:
- ...
- containerd &
- ctr images pull docker.io/library/busybox:latest
- ...
+ ...
+ containerd &
+ ctr images pull docker.io/library/busybox:latest
+ ...
Holy race condition batman! So, containerd's started as a background
process without any wait logic. ctr executes and may fail because the
daemon's socket at /run/containerd/containerd.sock is not yet available.
[Suggested Fix]
The test script should be modified to poll for the existence of the
/run/containerd/containerd.sock file in a loop after starting the
containerd & process. The script should only proceed with the ctr
commands once the socket is confirmed to be present.
** Changed in: containerd-app (Ubuntu Noble)
Assignee: (unassigned) => Athos Ribeiro (athos)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2118738
Title:
containerd-app autopkgtest fails on all architectures because it does
not wait for the daemon to start
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/containerd-app/+bug/2118738/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs