Red Hat Bugzilla – Bug 1278508
GRUB memory error when using kernel 4.3 or greater
Last modified: 2016-12-20 10:24:59 EST
Description of problem:
GRUB throws a memory error after selecting kernel 4.3 or 4.4rc0 to boot while using a new Skylake-based system.
double free at 0x5f561120
Aborted. Press any key to exit.
The 0x number/address changes.
This same problem persists through multiple reinstalls, at first using Fedroa 22, then Fedora 23.
Version-Release number of selected component (if applicable):
Not sure if it's reproducible. Likely a problem related to my specific setup/components.
Steps to Reproduce:
1. Install Fedora 22/23
2. Add Rawhide nodebug kernel repo, update
3. Rawhide kernel installed.
After reboot, if new kernel is selected, error from above appears
New Skylake system specifications are:
Intel Core i7 6700K
16GB Corsair DDR4-2666
250GB Samsung 850 EVO
I have the exact same issue with a custom built kernel (didn't try any rawhide stuff). In my case, it was a plain 4.3 kernel.
I'll try tonight with kernels coming from rawhide just to confirm.
Ok so I tried with 4.4.0-0.rc0.git8.1.fc24 and it works.
I'm compiling a custom kernel as we speak to test.
Doesn't work with 4.3.0-12036-g63f4f7e....
Maybe it's a kernel bug more than a grub thing.
Works with 4.4.0-0.rc1.git1.1.fc24.x86_64
Still doesn't with my own 4.4.0-rc1-00144-gb4ba1f0
It's definitely a grub bug but I haven't found anything related upstream.
I'm encountering this on a ~year old laptop with a 4.2.6-based kernel build as well.
The mystery remains then.
I'm typing this from a year old Thinkpad laptop on a homebuilt 4.3.0 kernel and grub2 works...
The whole boot + EFI + signed binaries thing makes it hard to debug.
I'll be looking at how to do that.
I'm having the same problem with a custom 4.2.6 kernel on a Lenovo Yoga 900 with a core i7 Skylake chip. Same custom kernel on this ~4 year old Dell I'm typing from works just fine. Does it by chance have anything to do with the kernel being compiled on the Dell and then installed on the Lenovo? One of the issues I was patching was the wifi being disabled on the Lenovo, so downloading and building the custom kernel on that machine wasn't the best option (no ethernet port for backup). That being said, if I need to, I can try to transfer everything I need from the Dell to the Lenovo via USB stick and build it there. Does it sound like that might fix the problem?
Can anybody seeing this problem attach the grub2.cfg and grubenv files in use while they see it?
Hi Peter, here are mines...
Created attachment 1100992 [details]
Created attachment 1100993 [details]
So in my case, official Fedora kernel builds boot fine, it's only a local build that fails, even with 100% identical config. And the failure goes away when I disable secure boot in efi. My system's /etc/grub2.cfg points to a non-existent file, but /etc/grub2-efi.cfg is valid. Attaching shortly.
Created attachment 1101092 [details]
grub2-efi.cfg from MSI GS60 laptop
Created attachment 1101094 [details]
grubenv from MSI GS60 laptop
My problem is identical to Jarod. Only locally built kernels fail. Haven't tried the secure boot thing but I shall and will report.
FYI I attached grub2-efi.cfg.
Turns out I'm an idiot, and hadn't enrolled my local signing key, so the kernel isn't expected to boot with secure boot enabled anyway, but it seems this isn't the expected error message...
Most likely I'm idiot too. Jarod, I've been looking for instructions how to do that? Are there any online?
(In reply to Mathieu Chouquet-Stringer from comment #17)
> Most likely I'm idiot too. Jarod, I've been looking for instructions how to
> do that? Are there any online?
You probably don't want to do that. Enrolling the test certificate means that any kernel signed with that test cert will boot. Since we ship the test cert, anyone in the world can create such a kernel. That pretty much negates the benefit of Secure Boot. (If you're creating your own signing cert and using that for local builds and only you have access to it, then it might be worthwhile. Most people aren't doing that though.)
Instead, you might want to use mokutil to temporarily disable the validation steps. mokutil --disable-validation as root.
I ended up creating my own cert and signed my own kernel. It boots fine.
So yes, in the end it's clearly just a secure boot issue and as you mentioned, grub shouldn't fail with a "double free" when the kernel isn't (properly) signed.
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora 'version'
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 23 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
Thank you for reporting this bug and we are sorry it could not be fixed.