[Bug 1896608] Re: grub-multi-install fails with exit 1 when question grub-efi/install_devices_empty is skipped
Michael Vogt
1896608 at bugs.launchpad.net
Tue Sep 22 17:21:33 UTC 2020
Some debug lines from setting "sh -x" inside the grub-multi-install
https://paste.ubuntu.com/p/9CBGGvJjz9/
and the debconf db grub entries: https://paste.ubuntu.com/p/j2DwtQHzSb/
I think the only relevant part here is that grub-
efi/install_devices_empty was already seen *and* is set to "True" as
this leads to the issue.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1896608
Title:
grub-multi-install fails with exit 1 when question grub-
efi/install_devices_empty is skipped
Status in grub2 package in Ubuntu:
New
Bug description:
A 20.04 machine with grub-efi-amd64-signed that recently got upgraded fails with:
"""
dpkg: error processing package grub-efi-amd64-signed (--configure):
installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 1
"""
unfortunately not much more context was provided. After some debugging
it turns out that there are the following lines in /usr/lib/grub/grub-
multi-install:
"""
db_get "$question"
if [ -z "$RET" ]; then
# Reset the seen flag if the current answer is false, since
# otherwise we'll loop with no indication of why.
db_get grub-efi/install_devices_empty
if [ "$RET" = false ]; then
db_fset grub-efi/install_devices_empty seen false
fi
if db_input critical grub-efi/install_devices_empty; then
db_go
db_get grub-efi/install_devices_empty
if [ "$RET" = true ]; then
break
else
db_fset "$question" seen false
db_fset grub-efi/install_devices_empty seen false
fi
else
exit 1 # noninteractive
fi
"""
when grub-efi/install_devices_empty has the flag "seen" the line
if db_input critical grub-efi/install_devices_empty; then
will return "30" if the question was already shown but the rfset eset
happens only if the anser was "false" earlier. So the code jumps to
"exit 1".
So either the code need to always reset the seen flag ( db_fset grub-
efi/install_devices_empty seen false) or deal with exit code 30 from
"db_input critical grub-efi/install_devices_empty" more gracefully.
I can provide a /var/cache/debconf/config.dat to reproduce. I'm not
entirely sure how to reproduce from a clean install, the bug will only
happen after the first upgrade.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1896608/+subscriptions
More information about the foundations-bugs
mailing list