After upgrading to systemd 248, the problem seems to go away. I tried to reproduce the issue with:
https://download.libguestfs.org/binaries/appliance/appliance-1.40.1.tar.xz But also failed (uses systemd 239). There might be some other differences though (like lvmetad doesn't exist in debian 10 anymore, etc) - but it does seem like a basic systemd/udev problem of parsing process output. I wonder if there is anything libguestfs can do to mitigate this bug. (since the fix is obviously in .c code deep inside libsystemd). Some kind of fix / or at least a warning for the next users that will be affected by this bug. I originally thought that changing the udev rules to use "bash -c sleep 1 && dmsetup splitnames" might cause the process to not exit too quickly, thus avoiding the race in systemd but it seems super hacky (and I didn't test that this works). But again, first I think it's important to understand the extent of this bug throughout the distributions. Sam On Thu, Apr 8, 2021 at 6:59 PM Sam Eiderman <sam...@google.com> wrote: > > Yes, that's what I understood, but for some reason the appliance stayed on > v241 no matter what I did so I started questioning the foundations :-). > I guess it was just cached somewhere since when I rebuilt the docker from > scratch it worked. > > One more thing, I had to: > > echo "/lib/systemd/libsystemd-shared-248.so" >> appliance/hostfiles.in > > Since this file name is obviously version dependent, but now it seems that > it's using systemd/udev v248 properly. > > Now I'm stress testing with it trying to see if I get a reproduction > (hopefully not). > > I wonder if this bug is linux wide, at least in terms of libguestfs, and was > it just not reported so far. > I could try using the appliances from libguestfs.org to see if I get a > reproduction with them as well. > > Something tells me this isn't just debian specific. > > Sam > > On Thu, Apr 8, 2021 at 4:43 PM Richard W.M. Jones <rjo...@redhat.com> wrote: >> >> On Thu, Apr 08, 2021 at 04:40:32PM +0300, Sam Eiderman wrote: >> > However, during libguestfs building I still see this line: >> > >> > Get:37 http://deb.debian.org/debian buster/main amd64 systemd amd64 >> > 241-7~deb10u7 [3499 kB] >> > >> > So it seems that it downloads the systemd package directly from debian and >> > not >> > using the one installed on the host docker. >> >> But it only downloads that to examine the configuration files. >> Suggest having a look at how supermin works, it's quite neat! >> >> https://libguestfs.org/supermin.1.html#SUPERMIN-APPLIANCES >> >> Rich. >> >> -- >> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones >> Read my programming and virtualization blog: http://rwmj.wordpress.com >> virt-builder quickly builds VMs from scratch >> http://libguestfs.org/virt-builder.1.html >> _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs