Bug 1691232 - some BLS snippets are not being displayed in the GRUB menu
Summary: some BLS snippets are not being displayed in the GRUB menu
Alias: None
Product: Fedora
Classification: Fedora
Component: grub2
Version: 30
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2019-03-21 08:30 UTC by Chris Murphy
Modified: 2019-04-01 00:01 UTC (History)
3 users (show)

Fixed In Version: grub2-2.02-74.fc30 grub2-2.02-75.fc30
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2019-04-01 00:01:20 UTC
Type: Bug

Attachments (Terms of Use)
screenshot1 (662.65 KB, image/jpeg)
2019-03-21 08:30 UTC, Chris Murphy
no flags Details
screenshot2 (497.27 KB, image/jpeg)
2019-03-21 08:31 UTC, Chris Murphy
no flags Details
screenshot3 (2.83 MB, image/jpeg)
2019-03-21 08:33 UTC, Chris Murphy
no flags Details
screenshot4 (2.07 MB, image/jpeg)
2019-03-21 08:42 UTC, Chris Murphy
no flags Details
screenshot5 (3.06 MB, image/jpeg)
2019-03-21 08:44 UTC, Chris Murphy
no flags Details
grub.cfg (5.90 KB, text/plain)
2019-03-21 08:46 UTC, Chris Murphy
no flags Details

Description Chris Murphy 2019-03-21 08:30:20 UTC
Description of problem:

It seems that the GRUB menu will only display 6 BLS entries found in /loader/entries, even though I have 7. If I move the .conf file for a visible entry out of /loader/entries and reboot the missing "1st" entry is now visible.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. This is a Fedora 29 to Fedora 30 upgraded system, not a clean install; I used GNOME Software (pk-offline-update) to do the update

Actual results:

After reboot, the desired and default kernel is not available in the GRUB menu; which should be for kernel 5.0.2. See "screenshot1". 

Expected results:

I should see a 5.0.2 kernel as well, there is a .conf file for it.

Additional info:

When I remove "bbe68372db9f4c589a1f67f008e70864-5.1.0-0.rc0.git5.1.fc31.x86_64.conf" from /loader/entries and reboot, now the 5.0.2 kernel is visible. It's like there is a six item limit? Or something?

[root@flap ~]# ls -l /boot/loader/entries
total 28
-rw-r--r--. 1 root root 416 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-0-rescue.conf
-rw-r--r--. 1 root root 329 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-5.0.0-0.rc8.git0.1.fc30.x86_64+debug.conf
-rw-r--r--. 1 root root 269 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-5.0.0-300.fc30.x86_64.conf
-rw-r--r--. 1 root root 293 Mar 20 23:40 bbe68372db9f4c589a1f67f008e70864-5.0.0-300.fc30.x86_64+debug.conf
-rw-r--r--. 1 root root 269 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-5.0.1-300.fc30.x86_64.conf
-rw-r--r--. 1 root root 269 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-5.0.2-300.fc30.x86_64.conf
-rw-r--r--. 1 root root 306 Mar 20 23:14 bbe68372db9f4c589a1f67f008e70864-5.1.0-0.rc0.git5.1.fc31.x86_64.conf
[root@flap ~]# cat /boot/efi/EFI/fedora/grubenv
# GRUB Environment Block
saved_entry=Fedora (5.0.2-300.fc30.x86_64) 29 (Workstation Edition)
kernelopts=root=UUID=2662057f-e6c7-47fa-8af9-ad933a22f6ec ro rootflags=subvol=root29 enable_mtrr_cleanup=1 zswap.enabled=1 zswap.max_pool_percent=25 zswap.compressor=lz4 
[root@flap ~]# 

If I remove e.g. the 5.1.0 kernel snippet, I get "screenshot2".

If I restore the 5.1.0 kernel snippet, and then reboot and in GRUB "set debug=blscfg" I can see that I definitely finds all of the snippets and reads their contents without any errors. A partial for this output that includes 5.0.2 snippet is "screenshots3".

Comment 1 Chris Murphy 2019-03-21 08:30:45 UTC
Created attachment 1546368 [details]

Comment 2 Chris Murphy 2019-03-21 08:31:55 UTC
Created attachment 1546369 [details]

Comment 3 Chris Murphy 2019-03-21 08:33:44 UTC
Created attachment 1546370 [details]

Comment 4 Chris Murphy 2019-03-21 08:41:20 UTC
In screenshot3, near the bottom "Add entry with id" lists 5.0.2 - and yet it's not displayed. But this is also the only snippet file for which there is an "Add entry with id" line. None of the others have that...so maybe it is some kind of parsing problem? Or maybe it's just because it's the last (7th) file being read. I'm not sure.

I will add screenshot4 which is the 3rd and last "page" scroll for the blscfg debug output. And screenshot5 will be the 1st page of blscfg debug.

Comment 5 Chris Murphy 2019-03-21 08:42:57 UTC
Created attachment 1546372 [details]

This is page 3 of 3 for blscfg debug output.

Comment 6 Chris Murphy 2019-03-21 08:44:16 UTC
Created attachment 1546374 [details]

this is page 1 of 3, bslcfg debug.

(funny, none of these are screenshots, they're cell phone photos of a laptop screen)

Comment 7 Chris Murphy 2019-03-21 08:46:07 UTC
Created attachment 1546376 [details]

Comment 8 Javier Martinez Canillas 2019-03-21 09:01:56 UTC
Hello Chris,

Thanks a lot for the detailed report. As you corrected in the Summary, I don't think this is about a limit in the number of boot entries being displayed but rather that some entries are not being shown in the menu.

The blscfg module parses all the BLS snippets and stores them in a sorted linked list that's later used to populate the menu. I believe that there may be a bug in that logic and that's why the entry isn't shown. I'll try to reproduce it with the information that you provided.

Comment 9 Chris Murphy 2019-03-22 20:18:43 UTC
grub2-2.02-74.fc30 fixes this for me so far.

Comment 10 Fedora Update System 2019-03-29 16:45:05 UTC
grub2-2.02-75.fc30 systemd-241-4.gitcbf14c9.fc30 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-616045ca76

Comment 11 Fedora Update System 2019-03-29 20:32:35 UTC
grub2-2.02-75.fc30, systemd-241-4.gitcbf14c9.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-616045ca76

Comment 12 Fedora Update System 2019-04-01 00:01:20 UTC
grub2-2.02-75.fc30, systemd-241-4.gitcbf14c9.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.