Announcement

Collapse
No announcement yet.

Macbook Pro 5,1 errors. Suspect UEFI bug.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Macbook Pro 5,1 errors. Suspect UEFI bug.

    I have an ancient Macbook Pro 5,1 from 2008 that I decided to test just for fun. I don't recall ever having crashes or problems with it, but it's failing tests in a strange way and I'm thinking it might be a false positive. I've read and googled over the forums and noticed a number of other reports of bugs in Apple's UEFI in that era, so maybe this is one of them.

    This laptop has 8GB of RAM made of 2 SODIMMs. This model originally only officially supported 4GB of RAM but everyone knew you could put 8GB in and it would run fine. In the last official UEFI update Apple made the 8GB support official, but nothing really changed as far as I can tell.

    The modules are two Mushkin 976644A. The module chips are labeled 256x8ddr3 with a date code of 1208. http://www.poweredbymushkin.com/Home...ry/646-976644a

    The Memtest used was the latest, 9.4 b1000.

    Here's what happens:

    The memory region in question is approximately 0x158000000 to 0x15f000000, about 5.5GB in. I've never seen errors outside of this range.

    On the first pass after boot errors will be found in tests 7 and 9. I've never seen other error types.

    No pass other than the first pass will ever find errors. I've run up to 12 additional passes multiple times and errors are never found after that first pass.

    The number of errors is fairly small. It's always 10-30 each time.

    Normally it takes 9 hours for a full 4-pass test to complete, but if I focus the test to the address range above and skip tests 10 and 13, it only takes a few minutes. I ran at least six full 9-hour tests and dozens of range tests.

    Testing the modules individually in each slot finds no errors. Swapping the modules does not cause the address range to move.

  • #2
    Some old UEFI BIOS had bugs when access RAM above 4GB. See,
    https://www.memtest86.com/tech_freezing-lockups.html

    And there was definitely a issues on old Macs that didn't work correctly with some RAM if you went past the official RAM limit. I can't find the details right at the moment however.

    Real test would be to swap the RAM sticks and see if you still get the error at the same place.

    Comment


    • #3
      Originally posted by David (PassMark) View Post

      Real test would be to swap the RAM sticks and see if you still get the error at the same place.
      Hi David! Thanks for your reply. It's awesome to be able to consult with an expert on something like this.

      I did swap the RAM modules and the errors stayed in the same 128MB 0x158000000 - 0x15f000000 range.

      I'm not sure how the memory is addressed in a system like this. Is it interleaved, and in what block sizes? Or is it just linear stacked on top of each other?

      Comment


      • #4
        If you are using 2 or 4 sticks inserted in optimal slots the addresses are typically interleaved (dual channel mode).

        My guess is that this machine doesn't really support more than 4GB of RAM. While the hardware probably can, Apple probably never tested it very well (or at all). Likely there is some hardware device mapped into this 128MB address space range. (see memory mapped IO). But the BIOS isn't flagging that address region as unavailable. Instead it is flagged as free RAM. So then you have MemTest86 and the mystery hardware device using the same RAM at the same time, overwriting each others storage. This make Memtest86 think the RAM is corrupted as the values stored get unexpectedly changed.

        In Windows you can see this address mapping in Device Manager. Same mapping happens on Macs and Linux machines.
        Click image for larger version  Name:	Device-Manager-Address-Mapping.png Views:	0 Size:	475.2 KB ID:	53048

        Comment

        Working...
        X