I can now confirm that the bug has been introduced strictly by the glibc 2.34, and not another package in the -proposed pocket.
My reproduction steps were as following:
Boot an Ubuntu Impish qemu VM (fully up-to-date (funnily enough, far from being a trivial thing to do, see at the bottom for pointers).
In the VM, install the dpkg-dev and dnsmasq-base packages, get the systemd sources, go into the test subdirectory of the sources, and run the following command:
Reboot the VM, go into the test directory, and run the same python3 command as above. It now fails.
To revert to the previous state of the VM (if you haven't made a snapshot), simply use an apt preference > 1000 for the a=impish packages, the resolver will downgrade every package.
I captured straces for both debug runs for the networkd daemon, I'll attach them to the post. For reference, to get them, I changed the ExecStart line in /lib/systemd/system/systemd-networkd.service to
and added CAP_SYS_PTRACE to the AmbiantCapabilties and CapabilitiesBoundingSet lines.
How I finally managed to get a VM up and running:
* used `autopkgtest-buildvm-ubuntu-cloud -v -r impish --arch armhf` using autopkgtest git master
-> This gave me an image with credentials and disk space
* Used `mount-image-callback my.img --mountpoint /mnt -- cp -L /mnt/boot/vmlinuz /mnt/boot/initrd.img` to extract the kernel and initrd
-> couldn't figure out how to use a proper bootloader, so direct kernel boot
* use virtio for the img, and add root=/dev/vda1 as a kernel argument when launching qemu.
* fixed /etc/apt/sources.list to point to https://ports.ubuntu.com/ubuntu-ports
* sudo dpkg --remove-architecture i386
EDIT: removed the attached traces as they're of the wrong thing, fixed the strace invocation snippet, and added the post-boot VM configuration fixes
I can now confirm that the bug has been introduced strictly by the glibc 2.34, and not another package in the -proposed pocket.
My reproduction steps were as following:
Boot an Ubuntu Impish qemu VM (fully up-to-date (funnily enough, far from being a trivial thing to do, see at the bottom for pointers).
In the VM, install the dpkg-dev and dnsmasq-base packages, get the systemd sources, go into the test subdirectory of the sources, and run the following command:
sudo python3 networkd-test.py DnsmasqClientTe st.test_ coldplug_ dhcp_ip6
It should succeed (it has, in my case).
Then enable the -proposed pocket in the APT sources, with APT preferences looking like so
Package: *
Pin: release a=impish-proposed
Pin-Priority: 50
Finally, update *only* the glibc:
sudo apt install -t impish-proposed libc6
Reboot the VM, go into the test directory, and run the same python3 command as above. It now fails.
To revert to the previous state of the VM (if you haven't made a snapshot), simply use an apt preference > 1000 for the a=impish packages, the resolver will downgrade every package.
I captured straces for both debug runs for the networkd daemon, I'll attach them to the post. For reference, to get them, I changed the ExecStart line in /lib/systemd/ system/ systemd- networkd. service to
ExecStart=sh -c "strace -o /tmp/networkd. strace --output-separately -p $$$$ & exec /lib/systemd/ systemd- networkd"
, added this line
ReadWritePaths=/tmp
and added CAP_SYS_PTRACE to the AmbiantCapabilties and CapabilitiesBou ndingSet lines.
How I finally managed to get a VM up and running:
* used `autopkgtest- buildvm- ubuntu- cloud -v -r impish --arch armhf` using autopkgtest git master image-callback my.img --mountpoint /mnt -- cp -L /mnt/boot/vmlinuz /mnt/boot/ initrd. img` to extract the kernel and initrd sources. list to point to https:/ /ports. ubuntu. com/ubuntu- ports architecture i386
-> This gave me an image with credentials and disk space
* Used `mount-
-> couldn't figure out how to use a proper bootloader, so direct kernel boot
* use virtio for the img, and add root=/dev/vda1 as a kernel argument when launching qemu.
* fixed /etc/apt/
* sudo dpkg --remove-
EDIT: removed the attached traces as they're of the wrong thing, fixed the strace invocation snippet, and added the post-boot VM configuration fixes