[Bug 2051407] Re: qemu-net autopkgtest fails: Failed to send exit request: Resource temporarily unavailable
Nick Rosbrook
2051407 at bugs.launchpad.net
Tue Sep 10 15:06:35 UTC 2024
** Changed in: systemd (Ubuntu)
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2051407
Title:
qemu-net autopkgtest fails: Failed to send exit request: Resource
temporarily unavailable
Status in initramfs-tools package in Ubuntu:
Invalid
Status in systemd package in Ubuntu:
Invalid
Bug description:
This log shows initramfs-tools' qemu-net test failing on arm64. Here's
the relevant portion:
https://autopkgtest.ubuntu.com/results/autopkgtest-
mantic/mantic/arm64/i/initramfs-tools/20240119_214255_431f3@/log.gz
[...]
5482s no valid interfaces found
5482s exiting due to oneshot
5482s no interfaces have a carrier
5482s exiting due to oneshot
5482s dhcpcd exited
5482s dhcpcd_fork_cb: truncated read 0 (expected 4)
5492s [ 839.627776] virtio_net virtio1 lan0: renamed from eth0 (while UP)
5492s [ 839.806177] virtio_net virtio2 lan1: renamed from eth1 (while UP)
5544s no such user dhcpcd
5544s dhcpcd-10.0.2 starting
5544s dev: loaded udev
5557s DUID 00:03:00:01:52:54:00:65:43:21
5557s lan0: IAID 00:65:43:21
5557s lan1: IAID 00:12:34:56
5557s lan1: soliciting a DHCP lease
5558s lan1: offered 10.0.2.15 from 10.0.2.2
5558s lan1: probing address 10.0.2.15/24
5558s lan0: soliciting a DHCP lease
5558s lan0: offered 10.0.3.15 from 10.0.3.2
5558s lan0: probing address 10.0.3.15/24
5567s lan1: leased 10.0.2.15 for 86400 seconds
5567s lan1: adding route to 10.0.2.0/24
5567s lan1: adding default route via 10.0.2.2
5569s lan1: Setting hostname: goulash
5571s exiting due to oneshot
5579s dhcpcd exited
5579s dhcpcd_fork_cb: truncated read 0 (expected 4)
5590s Begin: Running /scripts/init-bottom ... Failed to send exit request: Resource temporarily unavailable
5658s done.
5661s /init: line 386: can't open /root/dev/console: no such file
5661s [ 1009.213600] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
I compared this to this successful test log:
https://autopkgtest.ubuntu.com/results/autopkgtest-mantic/mantic/arm64/i/initramfs-tools/20240116_053535_e8fd8@/log.gz
They test output looks about the same, up until:
5590s Begin: Running /scripts/init-bottom ... Failed to send exit
request: Resource temporarily unavailable.
I believe that error message is coming from /usr/share/initramfs-
tools/scripts/init-bottom/udev. That file does this:
---------START---------
#!/bin/sh -e
... usual boilerplate ...
# Stop udevd, we'll miss a few events while we run init, but we catch up
udevadm control --exit
# move the /dev tmpfs to the rootfs; fall back to util-linux mount that does
# not understand -o move
mount -n -o move /dev "${rootmnt:?}/dev" || mount -n --move /dev "${rootmnt}/dev"
---------END---------
`udevadm control --exit` tries to send an exit request to udev over a
control socket. "Resource temporarily unavailable" means that it
received an -EAGAIN when it tried to do so. udev_ctrl_send() doesn't
check for an -EAGAIN, so this is fatal. Since the script is `set -e`,
it fails to continue and therefore /dev never gets moved over.
Observations:
- The QEMU instance in the failed test ran much slower than the
successful one. The successful one made it to userspace in about 6
seconds, where the failed one took 63.
- Not all QEMU instance boots in this run took that long - the
others took 30-45s. So it's not like the QEMU version or guest kernel
are always slow.
- The failed instance emits "Failed to wait for daemon to reply:
Connection timed out" early on. I'm guessing that this is from the
`udevadm` calls in init-top/udev - likely the `udevadm settle`, since
it is the only one with a `|| true` to ignore errors. Perhaps this is
an early sign that something is wrong with systemd-udevd. Here's that
snippet:
-----------START-----------
[ 63.075129] Run /init as init process
Loading, please wait...
Starting systemd-udevd version 253.5-1ubuntu6.1
[ 233.675459] hrtimer: interrupt took 10193008 ns
Failed to wait for daemon to reply: Connection timed out
Begin: Loading essential drivers ... [ 576.182017] raid6: neonx8 gen() 210 MB/s
[ 576.261515] raid6: neonx4 gen() 244 MB/s
-----------END-----------
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2051407/+subscriptions
More information about the foundations-bugs
mailing list