From 1902714 at bugs.launchpad.net Tue Nov 3 15:01:07 2020 From: 1902714 at bugs.launchpad.net (rot13) Date: Tue, 03 Nov 2020 14:01:07 -0000 Subject: [Bug 1902714] [NEW] duplicate ARRAY lines in mdadm.conf generated by geninitrd, system unbootable Message-ID: <160441206807.15638.14243576799834425787.malonedeb@wampee.canonical.com> Public bug reported: My system became unbootable after doing full dist-upgrade today. Video: http://pps.siedziba.pl/video-2020-11-03_09-21-10.mp4 The problem is caused by duplicate ARRAY lines in mdadm.conf generated by geninitrd. This is how it looks: DEVICE partitions containers DEVICE /dev/sda DEVICE /dev/sda1 DEVICE /dev/sda2 DEVICE /dev/sdb DEVICE /dev/sdc DEVICE /dev/sdc1 DEVICE /dev/sdc2 DEVICE /dev/sda2 /dev/sdc2 ARRAY /dev/md0 metadata=1.2 name=zlom:0 UUID=01ffbdd5:f8801ed6:c5363602:3c9cad7d DEVICE /dev/sda2 /dev/sdc2 ARRAY /dev/md0 metadata=1.2 name=zlom:0 UUID=01ffbdd5:f8801ed6:c5363602:3c9cad7d After removing one of these ARRAY lines the system becomes bootable again. Relevant packages: geninitrd-12787-7.noarch kernel-5.9.1-2.x86_64 mdadm-4.1-1.x86_64 Verbose output from geninitrd: geninitrd: # geninitrd 12787 geninitrd: find_tool: found /usr/lib64/initrd/busybox geninitrd: find_tool: found /sbin/cryptsetup geninitrd: find_tool: found /sbin/dmraid geninitrd: find_tool: found /sbin/lvm geninitrd: find_tool: found /sbin/mdadm geninitrd: find_tool: found /usr/lib64/initrd/blkid geninitrd: find_tool: found /sbin/udevd geninitrd: find_tool: found /bin/udevadm geninitrd: find_tool: found /usr/lib64/initrd/resume geninitrd: Finding USB keyboard modules geninitrd: Finding SATA modules (class=0x0106) geninitrd: Finding modules for device path /dev/volumes/swap geninitrd: is_luks: /dev/volumes/swap is not device mapper name geninitrd: LVM: /dev/volumes/swap is LVM node File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15524: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15524: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15524: /bin/sh geninitrd: LVM VG for /dev/volumes/swap: volumes File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15531: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15531: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15531: /bin/sh geninitrd: LVM PV for volumes: /dev/md0 geninitrd: Finding modules for device path /dev/md0 geninitrd: is_luks: /dev/md0 is not device mapper name geninitrd: Finding RAID details using mdadm for rootdev=/dev/md0 geninitrd: md: found rootdev=/dev/md0 on device /dev/md0 with devices list /dev/sda2 /dev/sdc2 geninitrd: Finding modules for device path /dev/sda2 geninitrd: is_luks: /dev/sda2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: Finding modules for device path /dev/sdc2 geninitrd: is_luks: /dev/sdc2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: LVM v2 enabled geninitrd: suspend device is on LVM geninitrd: Using /dev/volumes/root1 as device for rootfs geninitrd: Finding modules for device path /dev/volumes/root1 geninitrd: is_luks: /dev/volumes/root1 is not device mapper name geninitrd: LVM: /dev/volumes/root1 is LVM node File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15636: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15636: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15636: /bin/sh geninitrd: LVM VG for /dev/volumes/root1: volumes File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15646: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15646: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15646: /bin/sh geninitrd: LVM PV for volumes: /dev/md0 geninitrd: Finding modules for device path /dev/md0 geninitrd: is_luks: /dev/md0 is not device mapper name geninitrd: Finding RAID details using mdadm for rootdev=/dev/md0 geninitrd: md: found rootdev=/dev/md0 on device /dev/md0 with devices list /dev/sda2 /dev/sdc2 geninitrd: Finding modules for device path /dev/sda2 geninitrd: is_luks: /dev/sda2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: Finding modules for device path /dev/sdc2 geninitrd: is_luks: /dev/sdc2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: LVM v2 enabled geninitrd: Building initrd... geninitrd: + cp /usr/lib64/initrd/busybox DESTDIR/bin/busybox not a dynamic executable geninitrd: Loading font /lib/kbd/consolefonts/lat2u-16.psfu.gz geninitrd: + cp /lib/geninitrd/functions.initrd DESTDIR/lib/geninitrd/functions.initrd geninitrd: Loading module [scsi_mod] with options [scan=sync ] geninitrd: Loading module [libata] geninitrd: Loading module [ata_piix] geninitrd: Loading module [libahci] geninitrd: Loading module [ahci] geninitrd: Loading module [ata_generic] geninitrd: Loading module [md-mod] geninitrd: Loading module [raid1] geninitrd: Loading module [t10-pi] geninitrd: Loading module [sd_mod] geninitrd: Loading module [dm-mod] geninitrd: Loading module [jbd2] geninitrd: Loading module [mbcache] geninitrd: Loading module [crc16] geninitrd: Loading module [crc32c-intel] geninitrd: Loading module [crc32c_generic] geninitrd: Loading module [libcrc32c] geninitrd: Loading module [ext4] geninitrd: Loading module [hid] geninitrd: Loading module [usbcore] geninitrd: Loading module [usbhid] geninitrd: Loading module [ehci-hcd] geninitrd: Loading module [uhci-hcd] geninitrd: Loading module [ohci-hcd] geninitrd: Loading module [dm-log] geninitrd: Loading module [dm-region-hash] geninitrd: Loading module [dm-mirror] geninitrd: Loading module [dm-bufio] geninitrd: Loading module [dm-snapshot] geninitrd: Adding BLKID support to initrd geninitrd: + cp /usr/lib64/initrd/blkid DESTDIR/sbin/blkid not a dynamic executable geninitrd: Setting up mdadm... geninitrd: + cp /sbin/mdadm DESTDIR/sbin/mdadm geninitrd: + cp /lib64/ld-linux-x86-64.so.2 DESTDIR/lib64 geninitrd: + cp /lib64/libc.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libdl.so.2 DESTDIR/lib64 geninitrd: Setting up array (/dev/md0 = /dev/sda2 /dev/sdc2) geninitrd: + cp /dev/sda2 DESTDIR/dev/sda2 geninitrd: + cp /dev/sdc2 DESTDIR/dev/sdc2 geninitrd: + cp /dev/md0 DESTDIR/dev/md0 geninitrd: + cp /dev/sda DESTDIR/dev/sda geninitrd: + cp /dev/sda1 DESTDIR/dev/sda1 geninitrd: + cp /dev/sdb DESTDIR/dev/sdb geninitrd: + cp /dev/sdc DESTDIR/dev/sdc geninitrd: + cp /dev/sdc1 DESTDIR/dev/sdc1 geninitrd: Setting up array (/dev/md0 = /dev/sda2 /dev/sdc2) geninitrd: Adding LVM support to initrd geninitrd: + cp /sbin/lvm DESTDIR/bin/lvm.static geninitrd: + cp /lib64/libaio.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libblkid.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libcap.so.2 DESTDIR/lib64 geninitrd: + cp /lib64/libdevmapper-event.so.1.02 DESTDIR/lib64 geninitrd: + cp /lib64/libdevmapper.so.1.02 DESTDIR/lib64 geninitrd: + cp /lib64/libm.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libpcre.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libpthread.so.0 DESTDIR/lib64 geninitrd: + cp /lib64/libgcc_s.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/librt.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libselinux.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libudev.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libgcrypt.so.20 DESTDIR/lib64 geninitrd: + cp /lib64/libgpg-error.so.0 DESTDIR/lib64 geninitrd: + cp /lib64/liblz4.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/liblzma.so.5 DESTDIR/lib64 geninitrd: + cp /lib64/libncursesw.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libreadline.so.8 DESTDIR/lib64 geninitrd: + cp /lib64/libsystemd.so.0 DESTDIR/lib64 geninitrd: + cp /usr/lib64/libzstd.so.1 DESTDIR/usr/lib64 File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15334: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15334: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15334: /bin/sh geninitrd: Adding BLKID support to initrd geninitrd: + cp /usr/lib64/initrd/blkid DESTDIR/sbin/blkid not a dynamic executable geninitrd: Adding rootfs finding based on kernel cmdline root= option support. geninitrd: Setting up suspend... geninitrd: + cp /dev/volumes/swap DESTDIR/dev/volumes/swap geninitrd: + cp /etc/suspend.conf DESTDIR/etc/suspend.conf geninitrd: + cp /usr/lib64/initrd/resume DESTDIR/bin/resume not a dynamic executable geninitrd: + cp /dev/volumes/root1 DESTDIR/dev/volumes/root1 geninitrd: image size: 20480 KiB (/root/tmp/initrd.cpRCdd) geninitrd: Creating initramfs image /root/tmp/initrd.img-2KnXup geninitrd: finding compressor: gzip (via gzip) geninitrd: Compressing /tmp/initrd-5.9.1-2.gz with gzip ** Affects: pld-linux Importance: Undecided Status: New -- You received this bug notification because you are subscribed to PLD Linux. https://bugs.launchpad.net/bugs/1902714 Title: duplicate ARRAY lines in mdadm.conf generated by geninitrd, system unbootable Status in PLD Linux: New Bug description: My system became unbootable after doing full dist-upgrade today. Video: http://pps.siedziba.pl/video-2020-11-03_09-21-10.mp4 The problem is caused by duplicate ARRAY lines in mdadm.conf generated by geninitrd. This is how it looks: DEVICE partitions containers DEVICE /dev/sda DEVICE /dev/sda1 DEVICE /dev/sda2 DEVICE /dev/sdb DEVICE /dev/sdc DEVICE /dev/sdc1 DEVICE /dev/sdc2 DEVICE /dev/sda2 /dev/sdc2 ARRAY /dev/md0 metadata=1.2 name=zlom:0 UUID=01ffbdd5:f8801ed6:c5363602:3c9cad7d DEVICE /dev/sda2 /dev/sdc2 ARRAY /dev/md0 metadata=1.2 name=zlom:0 UUID=01ffbdd5:f8801ed6:c5363602:3c9cad7d After removing one of these ARRAY lines the system becomes bootable again. Relevant packages: geninitrd-12787-7.noarch kernel-5.9.1-2.x86_64 mdadm-4.1-1.x86_64 Verbose output from geninitrd: geninitrd: # geninitrd 12787 geninitrd: find_tool: found /usr/lib64/initrd/busybox geninitrd: find_tool: found /sbin/cryptsetup geninitrd: find_tool: found /sbin/dmraid geninitrd: find_tool: found /sbin/lvm geninitrd: find_tool: found /sbin/mdadm geninitrd: find_tool: found /usr/lib64/initrd/blkid geninitrd: find_tool: found /sbin/udevd geninitrd: find_tool: found /bin/udevadm geninitrd: find_tool: found /usr/lib64/initrd/resume geninitrd: Finding USB keyboard modules geninitrd: Finding SATA modules (class=0x0106) geninitrd: Finding modules for device path /dev/volumes/swap geninitrd: is_luks: /dev/volumes/swap is not device mapper name geninitrd: LVM: /dev/volumes/swap is LVM node File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15524: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15524: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15524: /bin/sh geninitrd: LVM VG for /dev/volumes/swap: volumes File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15531: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15531: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15531: /bin/sh geninitrd: LVM PV for volumes: /dev/md0 geninitrd: Finding modules for device path /dev/md0 geninitrd: is_luks: /dev/md0 is not device mapper name geninitrd: Finding RAID details using mdadm for rootdev=/dev/md0 geninitrd: md: found rootdev=/dev/md0 on device /dev/md0 with devices list /dev/sda2 /dev/sdc2 geninitrd: Finding modules for device path /dev/sda2 geninitrd: is_luks: /dev/sda2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: Finding modules for device path /dev/sdc2 geninitrd: is_luks: /dev/sdc2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: LVM v2 enabled geninitrd: suspend device is on LVM geninitrd: Using /dev/volumes/root1 as device for rootfs geninitrd: Finding modules for device path /dev/volumes/root1 geninitrd: is_luks: /dev/volumes/root1 is not device mapper name geninitrd: LVM: /dev/volumes/root1 is LVM node File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15636: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15636: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15636: /bin/sh geninitrd: LVM VG for /dev/volumes/root1: volumes File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15646: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15646: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15646: /bin/sh geninitrd: LVM PV for volumes: /dev/md0 geninitrd: Finding modules for device path /dev/md0 geninitrd: is_luks: /dev/md0 is not device mapper name geninitrd: Finding RAID details using mdadm for rootdev=/dev/md0 geninitrd: md: found rootdev=/dev/md0 on device /dev/md0 with devices list /dev/sda2 /dev/sdc2 geninitrd: Finding modules for device path /dev/sda2 geninitrd: is_luks: /dev/sda2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: Finding modules for device path /dev/sdc2 geninitrd: is_luks: /dev/sdc2 is not device mapper name geninitrd: Finding SCSI modules using scsi_hostadapter geninitrd: LVM v2 enabled geninitrd: Building initrd... geninitrd: + cp /usr/lib64/initrd/busybox DESTDIR/bin/busybox not a dynamic executable geninitrd: Loading font /lib/kbd/consolefonts/lat2u-16.psfu.gz geninitrd: + cp /lib/geninitrd/functions.initrd DESTDIR/lib/geninitrd/functions.initrd geninitrd: Loading module [scsi_mod] with options [scan=sync ] geninitrd: Loading module [libata] geninitrd: Loading module [ata_piix] geninitrd: Loading module [libahci] geninitrd: Loading module [ahci] geninitrd: Loading module [ata_generic] geninitrd: Loading module [md-mod] geninitrd: Loading module [raid1] geninitrd: Loading module [t10-pi] geninitrd: Loading module [sd_mod] geninitrd: Loading module [dm-mod] geninitrd: Loading module [jbd2] geninitrd: Loading module [mbcache] geninitrd: Loading module [crc16] geninitrd: Loading module [crc32c-intel] geninitrd: Loading module [crc32c_generic] geninitrd: Loading module [libcrc32c] geninitrd: Loading module [ext4] geninitrd: Loading module [hid] geninitrd: Loading module [usbcore] geninitrd: Loading module [usbhid] geninitrd: Loading module [ehci-hcd] geninitrd: Loading module [uhci-hcd] geninitrd: Loading module [ohci-hcd] geninitrd: Loading module [dm-log] geninitrd: Loading module [dm-region-hash] geninitrd: Loading module [dm-mirror] geninitrd: Loading module [dm-bufio] geninitrd: Loading module [dm-snapshot] geninitrd: Adding BLKID support to initrd geninitrd: + cp /usr/lib64/initrd/blkid DESTDIR/sbin/blkid not a dynamic executable geninitrd: Setting up mdadm... geninitrd: + cp /sbin/mdadm DESTDIR/sbin/mdadm geninitrd: + cp /lib64/ld-linux-x86-64.so.2 DESTDIR/lib64 geninitrd: + cp /lib64/libc.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libdl.so.2 DESTDIR/lib64 geninitrd: Setting up array (/dev/md0 = /dev/sda2 /dev/sdc2) geninitrd: + cp /dev/sda2 DESTDIR/dev/sda2 geninitrd: + cp /dev/sdc2 DESTDIR/dev/sdc2 geninitrd: + cp /dev/md0 DESTDIR/dev/md0 geninitrd: + cp /dev/sda DESTDIR/dev/sda geninitrd: + cp /dev/sda1 DESTDIR/dev/sda1 geninitrd: + cp /dev/sdb DESTDIR/dev/sdb geninitrd: + cp /dev/sdc DESTDIR/dev/sdc geninitrd: + cp /dev/sdc1 DESTDIR/dev/sdc1 geninitrd: Setting up array (/dev/md0 = /dev/sda2 /dev/sdc2) geninitrd: Adding LVM support to initrd geninitrd: + cp /sbin/lvm DESTDIR/bin/lvm.static geninitrd: + cp /lib64/libaio.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libblkid.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libcap.so.2 DESTDIR/lib64 geninitrd: + cp /lib64/libdevmapper-event.so.1.02 DESTDIR/lib64 geninitrd: + cp /lib64/libdevmapper.so.1.02 DESTDIR/lib64 geninitrd: + cp /lib64/libm.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libpcre.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libpthread.so.0 DESTDIR/lib64 geninitrd: + cp /lib64/libgcc_s.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/librt.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libselinux.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libudev.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/libgcrypt.so.20 DESTDIR/lib64 geninitrd: + cp /lib64/libgpg-error.so.0 DESTDIR/lib64 geninitrd: + cp /lib64/liblz4.so.1 DESTDIR/lib64 geninitrd: + cp /lib64/liblzma.so.5 DESTDIR/lib64 geninitrd: + cp /lib64/libncursesw.so.6 DESTDIR/lib64 geninitrd: + cp /lib64/libreadline.so.8 DESTDIR/lib64 geninitrd: + cp /lib64/libsystemd.so.0 DESTDIR/lib64 geninitrd: + cp /usr/lib64/libzstd.so.1 DESTDIR/usr/lib64 File descriptor 4 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15334: /bin/sh File descriptor 5 (pipe:[1467578]) leaked on lvm invocation. Parent PID 15334: /bin/sh File descriptor 9 (pipe:[1467581]) leaked on lvm invocation. Parent PID 15334: /bin/sh geninitrd: Adding BLKID support to initrd geninitrd: + cp /usr/lib64/initrd/blkid DESTDIR/sbin/blkid not a dynamic executable geninitrd: Adding rootfs finding based on kernel cmdline root= option support. geninitrd: Setting up suspend... geninitrd: + cp /dev/volumes/swap DESTDIR/dev/volumes/swap geninitrd: + cp /etc/suspend.conf DESTDIR/etc/suspend.conf geninitrd: + cp /usr/lib64/initrd/resume DESTDIR/bin/resume not a dynamic executable geninitrd: + cp /dev/volumes/root1 DESTDIR/dev/volumes/root1 geninitrd: image size: 20480 KiB (/root/tmp/initrd.cpRCdd) geninitrd: Creating initramfs image /root/tmp/initrd.img-2KnXup geninitrd: finding compressor: gzip (via gzip) geninitrd: Compressing /tmp/initrd-5.9.1-2.gz with gzip To manage notifications about this bug go to: https://bugs.launchpad.net/pld-linux/+bug/1902714/+subscriptions