You are not logged in.

#1 2013-01-25 11:18:39

swordfish
Member
Registered: 2012-01-14
Posts: 160

[SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

Hi there,

yesterday I've installed the new refind-efi 0.6.5-1 and the new kernel 3.7.4-1 via pacman. Both are running well, but now I've got a little aesthetical problem (so to say):

The refind bootscreen shows on every boot an ugly writing (some kind of boot message) on top of the screen. I can provide a picture later the day.

It's definitely not meant to be there and I would like to get rid of it.

I haven't touched /boot/efi/EFI/refind/refind.conf or a different config file.

Anyone else with this problem? Or any hint where to look for a solution?

Last edited by swordfish (2013-01-26 20:42:07)


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

#2 2013-01-25 17:24:20

iamjerico
Member
Registered: 2012-12-10
Posts: 21

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

Is it an "assert" message?  If so, the developer is addressing it: see here.

Offline

#3 2013-01-25 19:43:43

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

I'm rEFInd's maintainer. The "ASSERT" message that I've fixed recently seems to be a long-standing bug (it's in code that hasn't changed in a while). Nobody has reported it until recently, but counting this message, I've gotten three reports in a week or so. Of course, it could be that these are different bugs. There can also be one or more "binary is whitelisted" messages when loading EFI drivers with Secure Boot enabled. That's an unrelated problem, but I've tweaked rEFInd to cover them up after they appear. (I can't get rid of the messages entirely, since they're produced by shim, which is outside of my control.)

In any event, the fixes are in the git repository, as referenced by iamjerico. A binary for the latest version is here, in case you want to test it but can't or don't want to compile it yourself:

http://www.rodsbooks.com/refind-bin-0.6.5.6.zip

If that doesn't fix your problem and if you're willing to run some tests with a debug version, then please e-mail me with details about what you're seeing and I can send you something that will display debugging code that should help me track down the cause and fix it.

Offline

#4 2013-01-25 22:50:13

swordfish
Member
Registered: 2012-01-14
Posts: 160

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

iamjerico wrote:

Is it an "assert" message?  If so, the developer is addressing it: see here.

Jep, that's it. Thanks for the link wink

srs5694 wrote:

The "ASSERT" message that I've fixed recently seems to be a long-standing bug (it's in code that hasn't changed in a while). Nobody has reported it until recently, but counting this message, I've gotten three reports in a week or so.

That's interesting, because on my system it appeared with the latest refind-efi 0.6.5-1.

By the way: The "ASSERT" message disappears if I hit "esc" and the refind screen is refreshed.

The sourceforge site iamjerico quoted says:

Fixed bug that caused ASSERT error on some systems (and conceivably a crash on startup on some) when default_selection line in refind.conf was commented out or empty.

So, I just have to specify the default_selection line in refind.conf? I'll have a look at it and the new binary you mentioned - thanks for it wink !


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

#5 2013-01-25 23:04:34

swordfish
Member
Registered: 2012-01-14
Posts: 160

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

Quick update: Now I've used the default_selection line in refind.conf with "default_selection 1" and after a reboot the "ASSERT" line seems to be gone smile

I will have an eye on it for the next two or three boots, and if the "ASSERT" message doesn't re-appear I will mark this thread as solved.

Thanks a lot iamjerico and srs5694 big_smile


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

#6 2013-01-26 04:37:13

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

swordfish wrote:
srs5694 wrote:

The "ASSERT" message that I've fixed recently seems to be a long-standing bug (it's in code that hasn't changed in a while). Nobody has reported it until recently, but counting this message, I've gotten three reports in a week or so.

That's interesting, because on my system it appeared with the latest refind-efi 0.6.5-1.

That's odd. I haven't actually gone back and tested with earlier versions. Only some EFIs produce the ASSERT messages, and I've only got one computer that does this. Between that and the fact that the bug appears only with certain refind.conf settings, I'd assumed that I simply never ran into it before. As I say, the code that produces the error hasn't changed in quite a while. I suppose it's possible it's interacting with something else, though....

One other possibility: If you'd been running rEFInd binaries built with GNU-EFI, I'm pretty sure you wouldn't see the ASSERT messages; they seem to be produced only on some firmware implementations and only when built against TianoCore's EDK2. I've been using TianoCore for my own binaries for quite a while, though, and I'm pretty sure the Arch binaries are also built against TianoCore. If you built your own against GNU-EFI, though, or if you've been using the Arch binaries and they've been flip-flopping in their build environments, then that might explain why the message just recently appeared for you.

By the way: The "ASSERT" message disappears if I hit "esc" and the refind screen is refreshed.

Yes, that's because the ASSERT message was created by an attempt to copy a NULL string, and this attempt occurred before the program entered its main loop. Hitting Esc causes the screen to be completely redrawn (among other things), so the error message is erased and the code that produced it isn't re-run so the message doesn't re-appear.

Quick update: Now I've used the default_selection line in refind.conf with "default_selection 1" and after a reboot the "ASSERT" line seems to be gone

Then it's almost certainly the same bug I fixed recently. FWIW, I'm approaching release of version 0.6.6, which includes this fix; I'll probably release it this weekend. I don't know how quickly it will appear as an Arch package after that, though.

Offline

#7 2013-01-26 11:24:07

swordfish
Member
Registered: 2012-01-14
Posts: 160

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

srs5694 wrote:

That's odd. I haven't actually gone back and tested with earlier versions. Only some EFIs produce the ASSERT messages, and I've only got one computer that does this. Between that and the fact that the bug appears only with certain refind.conf settings, I'd assumed that I simply never ran into it before. As I say, the code that produces the error hasn't changed in quite a while. I suppose it's possible it's interacting with something else, though....

Could be just coincidence, but the ASSERT message appeared with refind-efi 0.6.5-1 and the new kernel linux 3.7.4-1 (and other Arch users have had problems with this combination, too). But this is just an obvious guess!

srs5694 wrote:

One other possibility: If you'd been running rEFInd binaries built with GNU-EFI, I'm pretty sure you wouldn't see the ASSERT messages; they seem to be produced only on some firmware implementations and only when built against TianoCore's EDK2. I've been using TianoCore for my own binaries for quite a while, though, and I'm pretty sure the Arch binaries are also built against TianoCore.

Jepp, that's what the "info" button on the refind bootscreen supplies.

srs5694 wrote:

FWIW, I'm approaching release of version 0.6.6, which includes this fix; I'll probably release it this weekend. I don't know how quickly it will appear as an Arch package after that, though.

Thanks smile ! The Arch devs are pretty fast. So, I think the package will appear close to your release.


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

#8 2013-01-26 18:27:13

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

swordfish wrote:

Could be just coincidence, but the ASSERT message appeared with refind-efi 0.6.5-1 and the new kernel linux 3.7.4-1 (and other Arch users have had problems with this combination, too). But this is just an obvious guess!

No, that's a coincidence. The ASSERT error occurs before rEFInd has done anything more with boot loader files than scan their names; it hasn't loaded the kernel into memory, much less executed any of its code. It's caused by a simple NULL-pointer de-reference error within EFI libraries, triggered by passing a NULL pointer to an EFI system call (StrDuplicate(), to be precise). The NULL pointer is passed when the default_selection token in refind.conf is not set; when that token is set, the pointer is non-NULL and refers to the specified string. As far as I can recall, I haven't made any changes to the code that handles the pointer in quite a while, which is why I find the appearance of this bug with 0.6.5 rather puzzling. My best guess is that I've forgotten some small change that had the effect of removing code that substituted a non-NULL but empty value when default_selection was not set.

Offline

#9 2013-01-26 18:49:19

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

FWIW, I just tested both 0.6.4 and 0.6.5 on my one computer that shows the ASSERT messages. The message was displayed with both versions, but with a difference: Under 0.6.4, the screen was re-drawn after the message was displayed, so it appeared for just a fraction of a second. Under 0.6.5, the screen was not re-drawn after the message was displayed, so it's much more noticeable. The underlying problem (a NULL pointer de-reference) existed with both versions; its symptom was just being covered up (literally) with 0.6.5 because of some unrelated changes to the way screen redraws were being handled. My current test version (soon to become 0.6.6) fixes the underlying problem.

Offline

#10 2013-01-26 20:34:15

swordfish
Member
Registered: 2012-01-14
Posts: 160

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

srs5694 wrote:

FWIW, I just tested both 0.6.4 and 0.6.5 on my one computer that shows the ASSERT messages. The message was displayed with both versions, but with a difference: Under 0.6.4, the screen was re-drawn after the message was displayed, so it appeared for just a fraction of a second. Under 0.6.5, the screen was not re-drawn after the message was displayed, so it's much more noticeable. The underlying problem (a NULL pointer de-reference) existed with both versions; its symptom was just being covered up (literally) with 0.6.5 because of some unrelated changes to the way screen redraws were being handled. My current test version (soon to become 0.6.6) fixes the underlying problem.

Okay, that's a reasonable explanation for why I haven't seen the ASSERT message before. I can't remember, but there might has been some kind of a short "flash" over the screen when the refind boot-menu appeared.

Thanks for this explanation as well as for your remarks about the NULL pointer prob wink !


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

#11 2013-01-27 00:43:42

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

FWIW, I've released version 0.6.6, so the fix is now out.

Offline

#12 2013-01-27 11:34:20

swordfish
Member
Registered: 2012-01-14
Posts: 160

Re: [SOLVED] Ugly writing on bootscreen using rEFInd (UEFI)

srs5694 wrote:

FWIW, I've released version 0.6.6, so the fix is now out.

Great! And it's already available in Arch big_smile


Arch_x64 on Thinkpad Edge E520 (Intel Core i5, 4 GB RAM, 128 GB Crucial M4 SSD) + ITX-Desktop (Asrock H77M-ITX, Intel Core i3-2120T, 8GB RAM, 64 GB Samsung 830 SSD)

Offline

Board footer

Powered by FluxBB