Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: grub2
Version: 30
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
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:
Environment:
Last Closed: 2019-04-01 00:01:20 UTC
Type: Bug
Embargoed:


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):
grub2-efi-x64-2.02-72.fc30.x86_64


How reproducible:
Always


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)
boot_success=1
boot_indeterminate=0
blsdir=/root29/boot/loader/entries
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 
############[...snip...]######
[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]
screenshot1

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

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

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]
screenshot4

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]
screenshot5

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]
grub.cfg

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.