[Bug 1910815] Re: race on boot between multiple invocations of grub-editenv
Launchpad Bug Tracker
1910815 at bugs.launchpad.net
Fri Feb 26 07:26:28 UTC 2021
This bug was fixed in the package grub2 - 2.04-1ubuntu40
---------------
grub2 (2.04-1ubuntu40) hirsute; urgency=medium
* Revert: rhboot-f34-tcp-add-window-scaling-support.patch,
rhboot-f34-support-non-ethernet.patch,
ubuntu-fixup-rhboot-f34-support-non-ethernet.patch,
ubuntu-fixup-rhboot-f34-support-non-ethernet-2.patch: these break MAAS
LXD KVM pod deployments. LP: #1915288
grub2 (2.04-1ubuntu39) hirsute; urgency=medium
* Cherrypick a bunch of patches:
- fix crash in http LP: #1915288
- add bootp6 documentation
- add support for UEFI boot protocols
- use UEFI protocols for http & https networking
- make netboot search for by-mac/by-uuid/by-ip for grub.cfg
- update documentation for netboot search paths of grub.cfg
* Make prebuilt netboot image look for MAAS grub.cfg
* Fix grub-initrd-fallback.service thanks to JawnSmith LP: #1910815
grub2 (2.04-1ubuntu38) hirsute; urgency=medium
[ Jean-Baptiste Lallement ]
[ Didier Roche ]
* Fix warnings during grub menu generation. Thanks wdoekes for the patch
(LP: #1898177)
- Fix warnings when bpool doesn't exist.
- Fix warnings when snapshot name contains dashes.
* Do not fail to generate grub menu when name of the snapshot contains
spaces. (LP: #1903524)
-- Dimitri John Ledkov <xnox at ubuntu.com> Fri, 12 Feb 2021 20:29:16
+0000
** Changed in: grub2 (Ubuntu Hirsute)
Status: Fix Committed => Fix Released
--
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/1910815
Title:
race on boot between multiple invocations of grub-editenv
Status in grub2 package in Ubuntu:
Fix Released
Status in grub2 source package in Focal:
Fix Released
Status in grub2 source package in Groovy:
Fix Released
Status in grub2 source package in Hirsute:
Fix Released
Bug description:
[Impact]
* two grub systemd units run in parallel.
* ensure they are serialzed.
[Test Case]
* boot on initrdless systems (such as modern/recent public cloud
instances)
* observe that grub-initrd-fallback.service is always after grub-
common.service
* observe that both are successful
this is easy to view using
$ sudo journalctl -u grub-initrd-fallback.service grub-common.service
the output should be in order, not interleaved, with grub-common first
and then grub-initrd-fallback.
[Where problems could occur]
* The boot is slightly slower as the two jobs are serialized, but
they are not computationally intensive and shouldn't affect bootspeed
at all, especially on multicore systems where other things are
happening in parallel to these.
[Other Info]
* Original bug report
On focal, it appears systemd can run /etc/init.d/grub-common in parallel with /lib/systemd/system/grub-initrd-fallback.service. Both of these invoke grub-editenv for different reasons, apparently resulting in race conditions that generate messages like this:
Jan 08 18:07:15 asr-host systemd[1]: Starting LSB: Record successful boot for GRUB...
Jan 08 18:07:15 asr-host systemd[1]: Starting GRUB failed boot detection...
[..]
Jan 08 18:07:15 asr-host grub-common[1822]: * Recording successful boot for GRUB
[..]
Jan 08 18:07:16 asr-host grub-editenv[1886]: /usr/bin/grub-editenv: error: cannot rename the file /boot/grub/grubenv.new to /boot/grub/grubenv.
Jan 08 18:07:16 asr-host systemd[1]: grub-initrd-fallback.service: Main process exited, code=exited, status=1/FAILURE
Jan 08 18:07:16 asr-host systemd[1]: grub-initrd-fallback.service: Failed with result 'exit-code'.
Jan 08 18:07:16 asr-host systemd[1]: Failed to start GRUB failed boot detection.
Jan 08 18:07:16 asr-host grub-common[1822]: ...done.
Jan 08 18:07:16 asr-host systemd[1]: Started LSB: Record successful boot for GRUB.
Google search for "Failed to start GRUB failed boot detection" throws
up a few hits, which suggests this isn't necessarily something to
weird about the machine I'm running on:
https://www.google.co.uk/search?q=%22Failed+to+start+GRUB+failed+boot+detection.%22
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: grub-common 2.04-1ubuntu26.7
ProcVersionSignature: Ubuntu 5.4.0-59.65-generic 5.4.78
Uname: Linux 5.4.0-59-generic x86_64
ApportVersion: 2.20.11-0ubuntu27.14
Architecture: amd64
CasperMD5CheckResult: skip
Date: Fri Jan 8 20:19:42 2021
ProcEnviron:
TERM=screen.xterm-256color
PATH=(custom, no user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
SourcePackage: grub2
UpgradeStatus: Upgraded to focal on 2020-12-23 (15 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1910815/+subscriptions
More information about the foundations-bugs
mailing list