[Bug 1902714] [NEW] duplicate ARRAY lines in mdadm.conf generated by geninitrd, system unbootable

rot13 1902714 at bugs.launchpad.net
Tue Nov 3 15:01:07 CET 2020


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


More information about the pld-bugs mailing list