Summary
In the guided "Automated Installation" (erase a disk), full_disk_format() formats each new partition without waiting for udev to settle after parted's partition-table rescan and without checking the mkfs return code. mkfs can race a momentarily-removed partition node; because the failure is swallowed, the root mount then fails silently and the file copy lands in the live session's tmpfs, filling it until ENOSPC.
Affected path
GUI "Automated Installation — erase a disk and install" (radio_automated), and the auto-format prompt for an unpartitioned disk in manual partitioning. Both call partitioning.full_disk_format().
Impact
Intermittent. On a plain (non-encrypted) automated install the root filesystem is never created, so do_mount() mounts nothing (its return code is not checked) and rsync copies the system into the live overlay until the disk-full error. Whether it triggers depends on udev timing after each parted mkpart. For LUKS/LVM the root partition is reformatted later by cryptsetup luksFormat / pvcreate, so the silent tmpfs-fill is specific to the plain install; those layouts still benefit for the EFI/boot partitions full_disk_format() creates.
Root cause
After each parted call the loop only waits for the node to appear; it does not wait for udev to finish a rescan that briefly removes and recreates the partition nodes, and it discards the mkfs return code. A format that races a vanished node is silently tolerated, leaving the partition unformatted.
Found while developing #180. Fix in the linked PR.
Summary
In the guided "Automated Installation" (erase a disk),
full_disk_format()formats each new partition without waiting for udev to settle after parted's partition-table rescan and without checking themkfsreturn code.mkfscan race a momentarily-removed partition node; because the failure is swallowed, the root mount then fails silently and the file copy lands in the live session's tmpfs, filling it until ENOSPC.Affected path
GUI "Automated Installation — erase a disk and install" (
radio_automated), and the auto-format prompt for an unpartitioned disk in manual partitioning. Both callpartitioning.full_disk_format().Impact
Intermittent. On a plain (non-encrypted) automated install the root filesystem is never created, so
do_mount()mounts nothing (its return code is not checked) and rsync copies the system into the live overlay until the disk-full error. Whether it triggers depends on udev timing after eachparted mkpart. For LUKS/LVM the root partition is reformatted later bycryptsetup luksFormat/pvcreate, so the silent tmpfs-fill is specific to the plain install; those layouts still benefit for the EFI/boot partitionsfull_disk_format()creates.Root cause
After each
partedcall the loop only waits for the node to appear; it does not wait for udev to finish a rescan that briefly removes and recreates the partition nodes, and it discards themkfsreturn code. A format that races a vanished node is silently tolerated, leaving the partition unformatted.Found while developing #180. Fix in the linked PR.