duplicate ARRAY lines in mdadm.conf generated by geninitrd, system unbootable

Bug #1902714 reported by rot13 on 2020-11-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
PLD Linux
Undecided
Unassigned

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 post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers