You are not logged in.

#1 2014-11-06 10:43:08

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

[Solved] "Corrupted low memory" message at boot

I'm getting this message when I boot up from a live USB installation or from my new permanent installation on the HDD:

Corrupted low memory at ffff880000007e60 (7e60 phys) = 380000a2f0
Memory corruption detected in low memory

I'm getting the exact same message from both the installed and the live OS. The 2014.11.01 ISO image I'm using is not corrupted, the MD5 checks out. I've copied the ISO to the USB stick via dd as per instruction on the wiki.

I googled around a bit, and it seams this can occur when the BIOS is using the first x number of bytes of the memory for something. The kernel checks if that is the case for the first 64KB. The size it will check can be set using the memory_corruption check_size kernel setting at boot. I tried setting it to 128K, but it didn't help, I still got the error.

In spite of this error, the system seems to be running fine. It boots up just fine and I didn't notice anything weird happening while the system was up.

I did run memtest from the installation media through the night and it did 4 passes with 0 errors, so I guess the hardware isn't the problem.

Does anybody have any clue what could be the problem here?

Edit:

In case someone else comes across that type of error:
The problem is a poorly designed BIOS that uses parts of RAM that it shouldn't. The kernel checks for those BIOSes and reports the "Corrupted low memory" message. The kernel then ignores that part of the memory and proceeds with system startup. The system will start and work just fine.

If you want to get rid of that annoying message, you can explicitly tell the kernel to ignore the first 64KB of memory (which is the part the BIOS might use) with the memmap boot option. Then the kernel no longer needs to check for memory corruption since it won't use that part of the memory anymore. You do that with the memory_corruption_check option. For details see mich41's post.

Thanks to everyone for clearing things up.

Last edited by KRTac (2014-11-07 19:48:45)

Offline

#2 2014-11-06 13:50:52

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

I don't think the kernel uses low memory once the computer starts, but this is a kernel function to scan for low memory corruption occurring on boards such as yours.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#3 2014-11-06 13:59:48

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

I figured "low memory" just meant "a special area at the beginning of RAM". Does "low memory" reside in RAM or is it something different?

Offline

#4 2014-11-06 14:09:25

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

Low memory was that memory below 1M.  It was an old specification still being used for backwards compatibility from the DOS days.  Ol' Gates said we'd never need more than 640k.  The kernel usually frees the memory when it gets done loading the kernel, but for the most part, it uses everything above the 1M boundary.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#5 2014-11-06 14:11:41

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

So, is it a problem in my case? Does the corruption affect the boot process or the kernel?

Last edited by KRTac (2014-11-06 14:12:32)

Offline

#6 2014-11-06 14:16:02

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

Do you have something fighting for the same memory space such as two video cards?


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#7 2014-11-06 14:17:34

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

I have just a simple GT 610 nvidia card. I don't have on board graphics.

Offline

#8 2014-11-06 14:23:20

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

It looks like if you use x86_reserve_low 640 it might clear things up for a corrupted area instead of using mmap.  I flashed an AWARD BIOS one time to put gpxe on it.  I had to take something else out or reduce the size of the gpxe payload because it would corrupt it to the point that gpxe wouldn't work.  Turns out it had a BIOS function for something that wasn't present on the board and thus able to keep memory in check.

Last edited by nomorewindows (2014-11-06 14:26:42)


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#9 2014-11-06 14:31:10

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

Is this it? http://cateee.net/lkddb/web-lkddb/X86_RESERVE_LOW.html

So, I should try setting x86_reserve_low=640 on boot?

Also, what does that have to do with mmap?

Offline

#10 2014-11-06 14:32:56

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

Yeah, it might work in lieu of mmap.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#11 2014-11-06 14:35:01

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

Ok, thanks. I'll try it when I get home from work and report back.

PS: what is mmap exactely and what does x86_reserve_low have to do with it?

Offline

#12 2014-11-06 14:37:09

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

Mmap would take the arguments of the offending memory block and tell the kernel not to use it.  It doesn't have really any relationship to x86_reserve_low other than it might have the same outcome.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#13 2014-11-06 14:38:44

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

So mmap is an alternative solution for telling the kernel 'skip over the first x number of memory spaces'?

Offline

#14 2014-11-06 14:40:28

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

Mmap is likely to be used across the entire memory range instead of just low memory that x86_reserve_low is intended for.  Whole lot easier to keep track of with x86_reserve_low.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#15 2014-11-06 14:41:14

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

Ok, thanks. I'll try it and report back.

Offline

#16 2014-11-06 15:52:25

mich41
Member
Registered: 2012-06-22
Posts: 796

Re: [Solved] "Corrupted low memory" message at boot

Yes, it's this.

KRTac wrote:

So, I should try setting x86_reserve_low=640 on boot?

I don't think such boot parameter exists and you don't need 640k because your corruption happens within the first 64k.

The memory area being checked for corruptions isn't used by the kernel, so these warnings don't indicate anything harmful happening. If you want to silence them, use

memmap=64K$0 memory_corruption_check=0

(see below for explanation).

KRTac wrote:

Also, what does that have to do with mmap?

Absolutely nothing. You appear to be confusing physical with virtual addresses and X86_RESERVE_LOW with MMAP_MIN_ADDR.

Relevant boot parameters:

        memmap=nn[KMG]$ss[KMG]
                        [KNL,ACPI] Mark specific memory as reserved.
                        Region of memory to be reserved is from ss to ss+nn.
                        Example: Exclude memory from 0x18690000-0x1869ffff
                                 memmap=64K$0x18690000
                                 or
                                 memmap=0x10000$0x18690000

        memory_corruption_check=0/1 [X86]
                        Some BIOSes seem to corrupt the first 64k of
                        memory when doing things like suspend/resume.
                        Setting this option will scan the memory
                        looking for corruption.  Enabling this will
                        both detect corruption and prevent the kernel
                        from using the memory being corrupted.
                        However, its intended as a diagnostic tool; if
                        repeatable BIOS-originated corruption always
                        affects the same memory, you can use memmap=
                        to prevent the kernel from using that memory.

        memory_corruption_check_size=size [X86]
                        By default it checks for corruption in the low
                        64k, making this memory unavailable for normal
                        use.  Use this parameter to scan for
                        corruption in more or less memory.

Offline

#17 2014-11-06 16:17:56

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

So the memory corruption error indicates that the BIOS is using that part of the memory? So the memory corruption doesn't happen/doesn't affect what goes on in the kernel?

Offline

#18 2014-11-06 16:29:59

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 20,209

Re: [Solved] "Corrupted low memory" message at boot

KRTac wrote:

So the memory corruption error indicates that the BIOS is using that part of the memory? So the memory corruption doesn't happen/doesn't affect what goes on in the kernel?

The point is, the BIOS is not supposed to be using that memory without letting other things know.   A popular OS from the US Pacific Northwest does not use that memory, so lazy BIOS developers use that space without bothering to do it the right way.   Other operating systems, like Linux, might try to use that space and the invisible hand of the BIOS reaches out and corrupts what is in that space.   The linux developers are aware of these quirks and have to work around them,   This message means that they caught the brain dead BIOS changing that memory red-handed,  As there is nothing they can do about it, they set a flag that tells them to ignore that corruptible memory, and it posts a message to the owner of the machine in the hopes they will write a strongly worded letter to the chuckleheads that market buggy hardware.

If Linux were to universally ignore that space, they would ignore perfectly good memory on machines that were properly designed and tested.

Last edited by ewaller (2014-11-06 16:32:05)


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#19 2014-11-06 16:35:48

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,404

Re: [Solved] "Corrupted low memory" message at boot

The other suggestion is to upgrade the BIOS if at all possible.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#20 2014-11-06 16:37:09

mich41
Member
Registered: 2012-06-22
Posts: 796

Re: [Solved] "Corrupted low memory" message at boot

KRTac wrote:

So the memory corruption error indicates that the BIOS is using that part of the memory?

Yes.

KRTac wrote:

So the memory corruption doesn't happen/doesn't affect what goes on in the kernel?

Yes, because your kernel doesn't use the first 64kB and instead monitors it for paranormal activity.

IOW, its default configuration is memory_corruption_check=1 memory_corruption_check_size=64

Offline

#21 2014-11-06 17:13:34

KRTac
Member
From: Croatia
Registered: 2008-07-01
Posts: 99

Re: [Solved] "Corrupted low memory" message at boot

@ewaller: Thanks for clearing things up.

The BIOS is poorly designed and uses memory resources it isn't supposed to touch in the first place. The kernel sees this and reports it with the aforementioned message, then completely ignores the first 64K bytes of memory.

Now, if I tell the kernel not to check for bios memory corruption (memory_corruption_check=0), won't that make the kernel use that potentially corrupted memory? Is the default behavior for low memory "It's probably used by the BIOS, ignore it" or will the kernel use it if it doesn't check first?

How can I make the kernel ignore the first 64K and not report memory corruption every single time the system is booting?

Edit:

I just read @mich41's post again. The answer is:

memmap=64K$0 memory_corruption_check=0

I'll test this as soon as I can and respond accordingly.

Last edited by KRTac (2014-11-06 17:20:03)

Offline

#22 2015-10-06 18:54:40

antony-ag
Member
Registered: 2015-10-06
Posts: 2

Re: [Solved] "Corrupted low memory" message at boot

KRTac wrote:

I'll test this as soon as I can and respond accordingly.

Sorry for bring up this topic, but I have the same issue. Could you tell me about the result of your test?

Offline

#23 2015-10-06 23:52:37

mrunion
Member
From: Jonesborough, TN
Registered: 2007-01-26
Posts: 1,938
Website

Re: [Solved] "Corrupted low memory" message at boot

antony-ag, please don't necrobump. Open a new thread and reference this one if need be, but leave dead threads alone.


Matt

"It is very difficult to educate the educated."

Offline

#24 2015-10-07 00:02:40

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,330
Website

Re: [Solved] "Corrupted low memory" message at boot

Closed for the reasons noted above.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

Board footer

Powered by FluxBB