Bug#871229: /usr/sbin/update-grub: running update-grub segment faults
IOhannes m zmoelnig
umlaeute at debian.org
Wed Feb 28 16:05:48 UTC 2018
Package: grub-common
Version: 2.02+dfsg1-2
Followup-For: Bug #871229
Dear Maintainer,
today, when running a regular unstable->unstable upgrade i also experienced a
segmentation fault.
i do these updates regularly, e.g. the last update of grub-common (2.02-2 ->
2.02+dfsg1-1) happened on "Sun, Feb 18 2018 22:55:00 +0100".
The last update related to the boot manager would be linux-image-amd64 (4.14+89
-> 4.15+90) on "Mon, Feb 26 2018 14:24:15 +0100".
I didn't notice any problems with prior upgrades.
Note that I haven't rebooted my machine after the linux-image upgrade 3 days
ago.
I'll attach the output of
# sh -x /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg 2>&1 | tee /tmp/update-grub.log
i'm slightly afraid of having bricked my machine on the next reboot and would be
grateful if you could fix the problem asap.
-- Package-specific info:
*********************** BEGIN /proc/mounts
/dev/nvme0n1p2 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/nvme0n1p1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
*********************** END /proc/mounts
*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
font="/usr/share/grub/unicode.pf2"
fi
if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=C
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
insmod png
if background_image /usr/share/desktop-base/softwaves-theme/grub/grub-16x9.png; then
set color_normal=white/black
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6bb42702-8f67-4600-806e-69c9309532af' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
echo 'Loading Linux 4.15.0-1-amd64 ...'
linux /boot/vmlinuz-4.15.0-1-amd64 root=UUID=6bb42702-8f67-4600-806e-69c9309532af ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.15.0-1-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-6bb42702-8f67-4600-806e-69c9309532af' {
menuentry 'Debian GNU/Linux, with Linux 4.15.0-1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-1-amd64-advanced-6bb42702-8f67-4600-806e-69c9309532af' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
echo 'Loading Linux 4.15.0-1-amd64 ...'
linux /boot/vmlinuz-4.15.0-1-amd64 root=UUID=6bb42702-8f67-4600-806e-69c9309532af ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.15.0-1-amd64
}
menuentry 'Debian GNU/Linux, with Linux 4.15.0-1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-1-amd64-recovery-6bb42702-8f67-4600-806e-69c9309532af' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
echo 'Loading Linux 4.15.0-1-amd64 ...'
linux /boot/vmlinuz-4.15.0-1-amd64 root=UUID=6bb42702-8f67-4600-806e-69c9309532af ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.15.0-1-amd64
}
menuentry 'Debian GNU/Linux, with Linux 4.14.0-3-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.0-3-amd64-advanced-6bb42702-8f67-4600-806e-69c9309532af' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
echo 'Loading Linux 4.14.0-3-amd64 ...'
linux /boot/vmlinuz-4.14.0-3-amd64 root=UUID=6bb42702-8f67-4600-806e-69c9309532af ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.0-3-amd64
}
menuentry 'Debian GNU/Linux, with Linux 4.14.0-3-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.0-3-amd64-recovery-6bb42702-8f67-4600-806e-69c9309532af' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
else
search --no-floppy --fs-uuid --set=root 6bb42702-8f67-4600-806e-69c9309532af
fi
echo 'Loading Linux 4.14.0-3-amd64 ...'
linux /boot/vmlinuz-4.14.0-3-amd64 root=UUID=6bb42702-8f67-4600-806e-69c9309532af ro single
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.0-3-amd64
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg
*********************** BEGIN /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
*********************** END /proc/mdstat
*********************** BEGIN /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root 13 Feb 25 19:00 mmc-UD_0xd3a00c16 -> ../../mmcblk0
lrwxrwxrwx 1 root root 15 Feb 25 19:00 mmc-UD_0xd3a00c16-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 13 Feb 25 19:00 nvme-THNSF5512GPUK_TOSHIBA_979S11DHTR4T -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-THNSF5512GPUK_TOSHIBA_979S11DHTR4T-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-THNSF5512GPUK_TOSHIBA_979S11DHTR4T-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-THNSF5512GPUK_TOSHIBA_979S11DHTR4T-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 13 Feb 25 19:00 nvme-eui.00080d020030d8a6 -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-eui.00080d020030d8a6-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-eui.00080d020030d8a6-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Feb 25 19:00 nvme-eui.00080d020030d8a6-part3 -> ../../nvme0n1p3
*********************** END /dev/disk/by-id
*********************** BEGIN /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 15 Feb 25 19:00 112E-EF89 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 6bb42702-8f67-4600-806e-69c9309532af -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Feb 25 19:00 df2a138b-3c97-43af-8391-7b2059c9c31f -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 Feb 25 19:00 e48708c9-efcb-4459-8ea8-c9cee046d6e2 -> ../../nvme0n1p3
*********************** END /dev/disk/by-uuid
-- System Information:
Debian Release: buster/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages grub-common depends on:
ii gettext-base 0.19.8.1-4
ii libc6 2.26-6
ii libdevmapper1.02.1 2:1.02.145-4.1
ii libfreetype6 2.8.1-2
ii libfuse2 2.9.7-1
ii liblzma5 5.2.2-1.3
Versions of packages grub-common recommends:
ii os-prober 1.76
Versions of packages grub-common suggests:
ii console-setup 1.178
ii desktop-base 9.0.5
pn grub-emu <none>
pn multiboot-doc <none>
pn xorriso <none>
-- no debconf information
-------------- next part --------------
+ set -e
+ prefix=/usr
+ exec_prefix=/usr
+ datarootdir=/usr/share
+ prefix=/usr
+ exec_prefix=/usr
+ sbindir=/usr/sbin
+ bindir=/usr/bin
+ sysconfdir=/etc
+ PACKAGE_NAME=GRUB
+ PACKAGE_VERSION=2.02+dfsg1-2
+ host_os=linux-gnu
+ datadir=/usr/share
+ [ x = x ]
+ pkgdatadir=/usr/share/grub
+ export pkgdatadir
+ grub_cfg=
+ grub_mkconfig_dir=/etc/grub.d
+ basename /usr/sbin/grub-mkconfig
+ self=grub-mkconfig
+ grub_probe=/usr/sbin/grub-probe
+ grub_file=/usr/bin/grub-file
+ grub_editenv=/usr/bin/grub-editenv
+ grub_script_check=/usr/bin/grub-script-check
+ export TEXTDOMAIN=grub
+ export TEXTDOMAINDIR=/usr/share/locale
+ . /usr/share/grub/grub-mkconfig_lib
+ prefix=/usr
+ exec_prefix=/usr
+ datarootdir=/usr/share
+ datadir=/usr/share
+ bindir=/usr/bin
+ sbindir=/usr/sbin
+ [ x/usr/share/grub = x ]
+ test x/usr/sbin/grub-probe = x
+ test x/usr/bin/grub-file = x
+ test x = x
+ grub_mkrelpath=/usr/bin/grub-mkrelpath
+ which gettext
+ :
+ grub_tab=
+ test 2 -gt 0
+ option=-o
+ shift
+ argument -o /boot/grub/grub.cfg
+ opt=-o
+ shift
+ test 1 -eq 0
+ echo /boot/grub/grub.cfg
+ grub_cfg=/boot/grub/grub.cfg
+ shift
+ test 0 -gt 0
+ fgrep -qs ${GRUB_PREFIX}/video.lst /etc/grub.d/00_header
+ [ x = x ]
+ id -u
+ EUID=0
+ [ 0 != 0 ]
+ set /usr/sbin/grub-probe dummy
+ test -f /usr/sbin/grub-probe
+ :
+ /usr/sbin/grub-probe --target=device /
+ GRUB_DEVICE=/dev/nvme0n1p2
+ /usr/sbin/grub-probe --device /dev/nvme0n1p2 --target=fs_uuid
+ GRUB_DEVICE_UUID=6bb42702-8f67-4600-806e-69c9309532af
+ /usr/sbin/grub-probe --target=device /boot
+ GRUB_DEVICE_BOOT=/dev/nvme0n1p2
+ /usr/sbin/grub-probe --device /dev/nvme0n1p2 --target=fs_uuid
+ GRUB_DEVICE_BOOT_UUID=6bb42702-8f67-4600-806e-69c9309532af
+ /usr/sbin/grub-probe --device /dev/nvme0n1p2 --target=fs
+ GRUB_FS=ext2
+ [ xext2 = xunknown ]
+ test -f /etc/default/grub
+ . /etc/default/grub
+ GRUB_DEFAULT=0
+ GRUB_TIMEOUT=5
+ lsb_release -i -s
+ GRUB_DISTRIBUTOR=Debian
+ GRUB_CMDLINE_LINUX_DEFAULT=quiet
+ GRUB_CMDLINE_LINUX=
+ [ -e /etc/default/grub.d/*.cfg ]
+ [ x != x ]
+ termoutdefault=0
+ [ x = x ]
+ GRUB_TERMINAL_OUTPUT=gfxterm
+ termoutdefault=1
+ GRUB_ACTUAL_DEFAULT=0
+ [ x0 = xsaved ]
+ [ x = x ]
+ GRUB_RECOVERY_TITLE=recovery mode
+ export GRUB_DEVICE GRUB_DEVICE_UUID GRUB_DEVICE_BOOT GRUB_DEVICE_BOOT_UUID GRUB_FS GRUB_FONT GRUB_PRELOAD_MODULES GRUB_ACTUAL_DEFAULT
+ export GRUB_DEFAULT GRUB_HIDDEN_TIMEOUT GRUB_HIDDEN_TIMEOUT_QUIET GRUB_TIMEOUT GRUB_TIMEOUT_STYLE GRUB_DEFAULT_BUTTON GRUB_HIDDEN_TIMEOUT_BUTTON GRUB_TIMEOUT_BUTTON GRUB_TIMEOUT_STYLE_BUTTON GRUB_BUTTON_CMOS_ADDRESS GRUB_BUTTON_CMOS_CLEAN GRUB_DISTRIBUTOR GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX_DEFAULT GRUB_CMDLINE_XEN GRUB_CMDLINE_XEN_DEFAULT GRUB_CMDLINE_LINUX_XEN_REPLACE GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT GRUB_CMDLINE_NETBSD GRUB_CMDLINE_NETBSD_DEFAULT GRUB_CMDLINE_GNUMACH GRUB_TERMINAL_INPUT GRUB_TERMINAL_OUTPUT GRUB_SERIAL_COMMAND GRUB_DISABLE_LINUX_UUID GRUB_DISABLE_RECOVERY GRUB_VIDEO_BACKEND GRUB_GFXMODE GRUB_BACKGROUND GRUB_THEME GRUB_GFXPAYLOAD_LINUX GRUB_DISABLE_OS_PROBER GRUB_INIT_TUNE GRUB_SAVEDEFAULT GRUB_ENABLE_CRYPTODISK GRUB_BADRAM GRUB_OS_PROBER_SKIP_LIST GRUB_DISABLE_SUBMENU GRUB_RECORDFAIL_TIMEOUT GRUB_RECOVERY_TITLE
+ test x/boot/grub/grub.cfg != x
+ rm -f /boot/grub/grub.cfg.new
+ umask
+ oldumask=0022
+ umask 077
+ exec
+ umask 0022
+ gettext Generating grub configuration file ...
Generating grub configuration file ...+ echo
+ cat
+ grub_file_is_not_garbage /etc/grub.d/00_header
+ test -f /etc/grub.d/00_header
+ return 0
+ test -x /etc/grub.d/00_header
+ echo
+ echo ### BEGIN /etc/grub.d/00_header ###
+ /etc/grub.d/00_header
Segmentation fault
+ echo ### END /etc/grub.d/00_header ###
+ grub_file_is_not_garbage /etc/grub.d/05_debian_theme
+ test -f /etc/grub.d/05_debian_theme
+ return 0
+ test -x /etc/grub.d/05_debian_theme
+ echo
+ echo ### BEGIN /etc/grub.d/05_debian_theme ###
+ /etc/grub.d/05_debian_theme
Segmentation fault
Found background image: /usr/share/images/desktop-base/desktop-grub.png
+ echo ### END /etc/grub.d/05_debian_theme ###
+ grub_file_is_not_garbage /etc/grub.d/10_linux
+ test -f /etc/grub.d/10_linux
+ return 0
+ test -x /etc/grub.d/10_linux
+ echo
+ echo ### BEGIN /etc/grub.d/10_linux ###
+ /etc/grub.d/10_linux
Found linux image: /boot/vmlinuz-4.15.0-1-amd64
Found initrd image: /boot/initrd.img-4.15.0-1-amd64
Segmentation fault
Found linux image: /boot/vmlinuz-4.14.0-3-amd64
Found initrd image: /boot/initrd.img-4.14.0-3-amd64
+ echo ### END /etc/grub.d/10_linux ###
+ grub_file_is_not_garbage /etc/grub.d/20_linux_xen
+ test -f /etc/grub.d/20_linux_xen
+ return 0
+ test -x /etc/grub.d/20_linux_xen
+ echo
+ echo ### BEGIN /etc/grub.d/20_linux_xen ###
+ /etc/grub.d/20_linux_xen
+ echo ### END /etc/grub.d/20_linux_xen ###
+ grub_file_is_not_garbage /etc/grub.d/30_os-prober
+ test -f /etc/grub.d/30_os-prober
+ return 0
+ test -x /etc/grub.d/30_os-prober
+ echo
+ echo ### BEGIN /etc/grub.d/30_os-prober ###
+ /etc/grub.d/30_os-prober
Found Debian GNU/Linux (squeeze/sid) on /dev/mmcblk0p1
+ echo ### END /etc/grub.d/30_os-prober ###
+ grub_file_is_not_garbage /etc/grub.d/30_uefi-firmware
+ test -f /etc/grub.d/30_uefi-firmware
+ return 0
+ test -x /etc/grub.d/30_uefi-firmware
+ echo
+ echo ### BEGIN /etc/grub.d/30_uefi-firmware ###
+ /etc/grub.d/30_uefi-firmware
Adding boot menu entry for EFI firmware configuration
+ echo ### END /etc/grub.d/30_uefi-firmware ###
+ grub_file_is_not_garbage /etc/grub.d/40_custom
+ test -f /etc/grub.d/40_custom
+ return 0
+ test -x /etc/grub.d/40_custom
+ echo
+ echo ### BEGIN /etc/grub.d/40_custom ###
+ /etc/grub.d/40_custom
+ echo ### END /etc/grub.d/40_custom ###
+ grub_file_is_not_garbage /etc/grub.d/41_custom
+ test -f /etc/grub.d/41_custom
+ return 0
+ test -x /etc/grub.d/41_custom
+ echo
+ echo ### BEGIN /etc/grub.d/41_custom ###
+ /etc/grub.d/41_custom
+ echo ### END /etc/grub.d/41_custom ###
+ grub_file_is_not_garbage /etc/grub.d/README
+ test -f /etc/grub.d/README
+ return 1
+ [ x/boot/grub/grub.cfg != x ]
+ grep ^password /boot/grub/grub.cfg.new
+ chmod 444 /boot/grub/grub.cfg.new
+ test x/boot/grub/grub.cfg != x
+ /usr/bin/grub-script-check /boot/grub/grub.cfg.new
+ mv -f /boot/grub/grub.cfg.new /boot/grub/grub.cfg
+ gettext done
done+ echo
More information about the Pkg-grub-devel
mailing list