I'm glad to hear you are seeing an improvement! The current
implementation is still racy as mentioned in Comment #22. I did a search
of the logs I downloaded, and I believe this one shows that the
mount_partition() race isn't just theoretical:

https://autopkgtest.ubuntu.com/results/autopkgtest-
mantic/mantic/amd64/l/livecd-rootfs/20230928_132941_a6800@/log.gz

So my suggestion is that we:

1) wait for systemd 255.3 to be merged in noble to fix the issue w/ `udevadm 
lock`
2) convert livecd-rootfs to use udevadm lock in noble, addressing the remaining 
known races.
3) backport `udevadm lock` to jammy (likely as a low-priority SRU)
4) backport the`udevadm lock` support to livecd-rootfs

I realize that'll take some time, so if you want to SRU the partial fix
as a stop-gap, feel free.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2045586

Title:
  livecd-rootfs uses losetup -P for theoretically reliable/synchronous
  partition setup but it's not reliable

Status in linux package in Ubuntu:
  New
Status in livecd-rootfs package in Ubuntu:
  Fix Released
Status in util-linux package in Ubuntu:
  New
Status in linux source package in Jammy:
  New
Status in livecd-rootfs source package in Jammy:
  New
Status in util-linux source package in Jammy:
  New
Status in linux source package in Mantic:
  New
Status in livecd-rootfs source package in Mantic:
  New
Status in util-linux source package in Mantic:
  New
Status in linux source package in Noble:
  New
Status in livecd-rootfs source package in Noble:
  Fix Released
Status in util-linux source package in Noble:
  New

Bug description:
  In mantic, we migrated livecd-rootfs to use losetup -P instead of
  kpartx, with the expectation that this would give us a reliable, race-
  free way of loop-mounting partitions from a disk image during image
  build.

  In noble, we are finding that it is no longer reliable, and in fact
  fails rather often.

  It is most noticeable with riscv64 builds, which is the architecture
  where we most frequently ran into problems before with kpartx.  The
  first riscv64+generic build in noble where the expected loop partition
  device is not available is

    https://launchpad.net/~ubuntu-
  cdimage/+livefs/ubuntu/noble/cpc/+build/531790

  The failure is however not unique to riscv64, and the autopkgtest for
  the latest version of livecd-rootfs (24.04.7) - an update that
  specifically tries to add more debugging code for this scenario - has
  also failed on ppc64el.

    https://autopkgtest.ubuntu.com/packages/l/livecd-
  rootfs/noble/ppc64el

  The first failure happened on November 16.  While there has been an
  update to the util-linux package in noble, this did not land until
  November 23.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2045586/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to