ibm-s390-linux / s390-tools

Tools for use with the s390 Linux kernel and device drivers
MIT License
63 stars 60 forks source link

zipl: core dump with >10 BLS entries #68

Closed stefan-haberland closed 5 years ago

stefan-haberland commented 5 years ago

getting zipl core dump with >10 BLS entries

root@t35lp62:~# zipl Using config file '/etc/zipl.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1noscsibatch-next-20190724.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1cleartagged-next-20190724.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1-next-20190724.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.2.0-next-bisect.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190724.rc1.git0.b010bb39ab1a.301.fc30.s390x+next.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x+debug.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.1.19-300.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.0.9-301.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-0-rescue.conf' double free or corruption (out) Aborted (core dumped)

root@t35lp62:~# rpm -qf /usr/sbin/zipl s390utils-base-2.9.0-20190627.0.3c938c55.fc30.s390x

root@t35lp62:~# rm /boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1noscsibatch-next-20190724.conf rm: remove regular file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1noscsibatch-next-20190724.conf'? y

root@t35lp62:~# zipl Using config file '/etc/zipl.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1cleartagged-next-20190724.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-rc1-next-20190724.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.2.0-next-bisect.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190724.rc1.git0.b010bb39ab1a.301.fc30.s390x+next.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x+debug.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.1.19-300.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-5.0.9-301.fc30.s390x.conf' Using BLS config file '/boot/loader/entries/e03e4d381e5b4b1e8613675d4e0cfe51-0-rescue.conf' Building bootmap in '/boot' Building menu 'zipl-automatic-menu' Adding #1: IPL section '5.3.0-rc1cleartagged-next-20190724+' Adding #2: IPL section '5.3.0-rc1-next-20190724' Adding #3: IPL section 'next-bisect' Adding #4: IPL section 'Fedora (5.3.0-20190724.rc1.git0.b010bb39ab1a.301.fc30.s390x+next) 30 (Thirty)' Adding #5: IPL section 'Fedora (5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x+debug) 30 (Thirty)' Adding #6: IPL section 'Fedora (5.3.0-20190718.rc0.git0.85198ba2b000.301.fc30.s390x) 30 (Thirty)' Adding #7: IPL section 'Fedora (5.1.19-300.fc30.s390x) 30 (Thirty)' Adding #8: IPL section 'Fedora (5.0.9-301.fc30.s390x) 30 (Thirty)' (default) Adding #9: IPL section 'Fedora (0-rescue-e03e4d381e5b4b1e8613675d4e0cfe51) 30 (Thirty)' Preparing boot device: dasda (1634). Done.

martinezjavier commented 5 years ago

@stefan-haberland sorry I missed this issue before...

I was able to reproduce it by generating BLS snippets with the following script:

#!/bin/bash

for i in {0..9}
do
  cat << EOF > /boot/loader/entries/vmlinuz-${i}.conf
title Red Hat Enterprise Linux (vmlinuz-${i}) 8.0
version $(uname -r)
linux /boot/vmlinuz-$(uname -r)
initrd /boot/initramfs-$(uname -r).img
options $(cat /proc/cmdline)
EOF
done

And then zipl segfaults:

# zipl --dry-run
Using config file '/etc/zipl.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-9.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-8.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-7.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-6.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-5.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-4.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-3.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-2.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-1.conf'
Using BLS config file '/boot/loader/entries/vmlinuz-0.conf'
double free or corruption (out)
Aborted (core dumped)

I'll investigate what could be causing this.