1

I have a 15" Macbook Pro from early 2011 and am trying to figure out whether the logic board is broken.

Background and Original Symptoms

In 2016, my Macbook first showed signs of a broken GPU. Since at the time Apple's repair extension program was still in place, I got the logic board replaced for free. However, about a month ago it died again with the same symptoms. I send it in to a third party repair shop to replace the GPU. It worked fine for a while, but about a week ago it randomly shut down again. I later found a couple of Kernel Panic Reports that indicated a GPU restart 4 times with 10 seconds apart the heades of which looked like this:

Tue Jun 19 15:10:16 2018

Event:               GPU Reset
Date/Time:           Tue Jun 19 15:10:16 2018
Application:         Adobe CEF Helper
Path:                
Tailspin:            /Library/Logs/DiagnosticReports/gpuRestart2018-06-19-151016.tailspin
GPUSubmission Trace ID: 0
OS Version:          Mac OS X Version 10.13.4 (Build 17E199)
Graphics Hardware:   AMD Radeon HD 6490M
Signature:           0

Report Data:

GPURestartReportStart
------------------------
Hung Channels: PM4 
------------------------
[00] AccelChannel: PM4
Pending Command from   : GLCtx
PendingCommandTimestamp: 0x00129836, TotalDWords: 0x00000d20, GART Offset=0x0000000010fe4000, stamp_idx=0, estamp=0x00129836
------------------------
[00] PM4 HWChannel  : Enabled, NotIdle
LastReadTimestamp   : 0x00129835
NextSubmitTimestamp : 0x00129870
[PM4, ts:0x00129836]: No semaphore wait
[PM4, ts:0x00129836]: semaphore  signal: 0xffffff8019d0a940
HWSemaphore 0xffffff8019d0a940 Signal Event: [PM4 channel[0] TS:0x00129836 lastReadTS:0x00129835]
------------------------
GPU HangFlags 0x00000004: AsicHangState 0x00000004, AsicResetRequirement 0x00000002
IndividualEngineHang: 0
NonEngineBlockHang  : 0
FenceNotRetired     : 1
PerEngineReset      : 0
FullAsicReset       : 1
HangEngineBitmap    : 0x00000000
------------------------
AMDCaicosGraphicsAccelerator PCIe Device: [1:0:0] State: ENABLED
Configuration: deviceBits: 0x02006760, capabilityBits: 0x30940100
TotalVideoRAMBytes: 0x0000000010000000 (268435456)
------------------------
[00]  PM4 Engine : Enabled,  NotIdle
[00]  PM4 Channel: Enabled,  NotIdle, lastReadTimestamp 0x00129835, nextSubmitTimestamp 0x00129870
------------------------
[01] SDMA Engine : Enabled,  Idle
[01]  DMA Channel: Enabled,  Idle, lastReadTimestamp 0x00002ccb, nextSubmitTimestamp 0x00002ccd
------------------------
[03]  UVD Engine : Disabled, Idle
[02]  UVD Channel: Disabled, Idle, lastReadTimestamp 0x00000000, nextSubmitTimestamp 0x00000001
------------------------
[04] SAMU Engine : Disabled, Idle
[03]  SPU Channel: Disabled, Idle, lastReadTimestamp 0x00000000, nextSubmitTimestamp 0x00000001
------------------------
: ** GPU Debug Info Start **
.....
: ** GPU Debug Info End **
------------------------
[00] HWRing: Enabled
RingSizeInDwords: 0x4000,  FreeSpace: 0x317f, Head: 0x00000f40, LastSubmitPosition: 0x00001dc0, Tail: 0x00001dc0
RB[0]_RPTR: 0xffffffff, RB[0]_WPTR: 0xffffffff
HWRingDumpStart:
.......

Following this the Macbook would turn on again and continued to work for about a day, however, at one point after putting it in sleep mode it failed to shutdown and ran for an hour in my laptop case running considerably hot. After that I wasn't able to boot it normally anymore. Booting in safe mode would work relatively consistently, however, it would still sometimes crash and after crashes or trying to boot it regularly, it wouldn't turn on for a couple of times (usually two or three) even in safe mode with only the white indicator light repeatedly blinking three times in a row. At no point would I get a startup chime or the three beeping sounds that can indicate a failed boot. This is one of the kernel panics of a crash in single user mode.

Anonymous UUID:       205EDCCF-EF18-8D15-BE39-898FB58E209B

Sun Jun 24 00:32:48 2018

*** Panic Report ***
panic(cpu 2 caller 0xffffff8000388c2d): Kernel trap at 0xffffff800036dce5, type 13=general protection, registers:
CR0: 0x0000000080010033, CR2: 0x0000000123ab6000, CR3: 0x00000001609f7004, CR4: 0x00000000000626e0
RAX: 0x0000000000000001, RBX: 0x00000000027c8340, RCX: 0x000000000013e41a, RDX: 0xffffff800a6577a0
RSP: 0xffffff8099d13c10, RBP: 0xffffff8099d13ce0, RSI: 0x0000000000000001, RDI: 0xfffffffffffff000
R8:  0x0000000000000000, R9:  0x9fffffffffffffff, R10: 0xffff000000000000, R11: 0x000000010b010000
R12: 0x000000010b012000, R13: 0xffffff8009fd5340, R14: 0xfff7ff8009fd5340, R15: 0x000000000013e41a
RFL: 0x0000000000010206, RIP: 0xffffff800036dce5, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x0000000123ab6000, Error code: 0x0000000000000000, Fault CPU: 0x2, PL: 2, VF: 0

Backtrace (CPU 2), Frame : Return Address
0xffffff800014d270 : 0xffffff800026e166 
0xffffff800014d2c0 : 0xffffff8000396714 
0xffffff800014d300 : 0xffffff8000388a00 
0xffffff800014d380 : 0xffffff8000220180 
0xffffff800014d3a0 : 0xffffff800026dbdc 
0xffffff800014d4d0 : 0xffffff800026d99c 
0xffffff800014d530 : 0xffffff8000388c2d 
0xffffff800014d6b0 : 0xffffff8000220180 
0xffffff800014d6d0 : 0xffffff800036dce5 
0xffffff8099d13ce0 : 0xffffff800036ebd4 
0xffffff8099d13d40 : 0xffffff80002f92ef 
0xffffff8099d13e80 : 0xffffff80002f8ad2 
0xffffff8099d13ec0 : 0xffffff8000261b37 
0xffffff8099d13ef0 : 0xffffff80003735ad 
0xffffff8099d13fa0 : 0xffffff8000220986 

BSD process name corresponding to current thread: fsck_apfs
Boot args: -v -x

Mac OS version:
17E199

Kernel version:
Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64
Kernel UUID: 1B55340B-0B14-3026-8A47-1E139DB63DA3
__HIB  text base: 0xffffff8000100000
System model name: MacBookPro8,2 (Mac-94245A3940C91C80)

System uptime in nanoseconds: 78011217698
last loaded kext at 2546528984: com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 6.0.5f3 (addr 0xffffff7f829b1000, size 49152)
last unloaded kext at 61980408256: com.apple.driver.usb.AppleUSBUHCI    1.2 (addr 0xffffff7f81444000, size 147456)
loaded kexts:
com.apple.driver.AppleUSBTCButtons  254
com.apple.driver.AppleUSBTCKeyboard 254
com.apple.driver.AppleIRController  353
com.apple.filesystems.hfs.kext  407.50.6
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.BootCache 40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0
com.apple.iokit.SCSITaskUserClient  404.30.2
com.apple.filesystems.apfs  748.51.0
com.apple.driver.AirPort.Brcm4331   800.21.30
com.apple.driver.AppleSDXC  1.7.6
com.apple.iokit.AppleBCM5701Ethernet    10.3.1
com.apple.driver.AppleFWOHCI    5.5.9
com.apple.driver.AppleAHCIPort  329.50.2
com.apple.driver.AppleSmartBatteryManager   161.0.0
com.apple.driver.AppleACPIButtons   6.1
com.apple.driver.AppleHPET  1.8
com.apple.driver.AppleRTC   2.0
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleACPIEC    6.1
com.apple.driver.AppleAPIC  1.7
com.apple.driver.AppleIntelCPUPowerManagementClient 220.50.1
com.apple.nke.applicationfirewall   183
com.apple.security.TMSafetyNet  8
com.apple.security.quarantine   3
com.apple.driver.AppleIntelCPUPowerManagement   220.50.1
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport 6.0.5f3
com.apple.iokit.IOBluetoothHostControllerUSBTransport   6.0.5f3
com.apple.iokit.IOBluetoothHostControllerTransport  6.0.5f3
com.apple.iokit.IOBluetoothFamily   6.0.5f3
com.apple.driver.AppleUSBMultitouch 261
com.apple.driver.usb.IOUSBHostHIDDevice 1.2
com.apple.driver.usb.networking 5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2
com.apple.driver.usb.AppleUSBHub    1.2
com.apple.filesystems.hfs.encodings.kext    1
com.apple.iokit.IOSCSIMultimediaCommandsDevice  404.30.2
com.apple.iokit.IOBDStorageFamily   1.8
com.apple.iokit.IODVDStorageFamily  1.8
com.apple.iokit.IOCDStorageFamily   1.8
com.apple.driver.AppleThunderboltDPInAdapter    5.5.3
com.apple.driver.AppleThunderboltDPAdapterFamily    5.5.3
com.apple.driver.AppleThunderboltPCIDownAdapter 2.1.3
com.apple.driver.AppleThunderboltNHI    4.7.2
com.apple.iokit.IOThunderboltFamily 6.7.8
com.apple.iokit.IOAHCISerialATAPI   267.50.1
com.apple.iokit.IOAHCIBlockStorage  301.40.2
com.apple.iokit.IOEthernetAVBController 1.1.0
com.apple.iokit.IOFireWireFamily    4.7.0
com.apple.iokit.IO80211Family   1200.12.2
com.apple.driver.mDNSOffloadUserClient  1.0.1b8
com.apple.driver.corecapture    1.0.4
com.apple.iokit.IOAHCIFamily    288
com.apple.driver.usb.AppleUSBEHCIPCI    1.2
com.apple.driver.usb.AppleUSBEHCI   1.2
com.apple.driver.usb.AppleUSBHostPacketFilter   1.0
com.apple.iokit.IOUSBFamily 900.4.1
com.apple.driver.AppleUSBHostMergeProperties    1.2
com.apple.driver.AppleEFINVRAM  2.1
com.apple.driver.AppleEFIRuntime    2.1
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.iokit.IOSMBusFamily   1.1
com.apple.security.sandbox  300.0
com.apple.kext.AppleMatch   1.0.0d1
com.apple.driver.DiskImages 480.50.10
com.apple.driver.AppleFDEKeyStore   28.30
com.apple.driver.AppleEffaceableStorage 1.0
com.apple.driver.AppleKeyStore  2
com.apple.driver.AppleUSBTDM    439.50.6
com.apple.driver.AppleMobileFileIntegrity   1.0.5
com.apple.iokit.IOUSBMassStorageDriver  140.50.3
com.apple.iokit.IOSCSIBlockCommandsDevice   404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily   404.30.2
com.apple.iokit.IOStorageFamily 2.1
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.KernelRelayHost    1
com.apple.iokit.IOUSBHostFamily 1.2
com.apple.driver.usb.AppleUSBCommon 1.0
com.apple.driver.AppleBusPowerController    1.0
com.apple.driver.AppleSEPManager    1.0.1
com.apple.driver.IOSlaveProcessor   1
com.apple.iokit.IOReportFamily  31
com.apple.iokit.IOTimeSyncFamily    675.12
com.apple.iokit.IONetworkingFamily  3.4
com.apple.driver.AppleACPIPlatform  6.1
com.apple.driver.AppleSMC   3.1.9
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily    1.4
com.apple.kec.pthread   1
com.apple.kec.corecrypto    1.0

EOF

Interestingly enough, the kernel panic would come up at this point during boot more than once. There is another kernel panic report indicating the same last loaded and unloaded kexts (also in single user mode).

Troubleshooting

I have tried the Apple Hardware Test via Internet Recovery Mode at multiple stages. The non extensive test would not result in any errors at first, however, at later times (after trying to disable the discrete GPU) even if booting into Internet Recovery, the Macbook would freeze or crash during the test.

Thinking at this point, that the GPU was at fault I tried the method explained by LangLangC in this question GPU Problem, setting an nvar variable in order to stop the Macbook from using the discrete GPU on boot.

Following that method, however, I was still not able to boot regularly and the Macbook basically showed the same symptoms as before. I installed gfxCardStatus during a safe boot and was surprised to see that apparently my Macbook was (and still is) constantly running on the discrete GPU. Force switching to the integrated GPU would not work (even with trying to select it multiple times which is apparently a well known bug for gfxCardStatus). By now thinking that it might be a case of bad RAM I reversed the hack by resetting SMC and PRAM deleting all NVAR variables and moving the kext file back to its original place as well as updating the caches. I then tried reseating the RAM and tested the individual modules.

Current Situation

It turned out that even without the hack the Macbook will boot regularly if only the upper slot of RAM is in use. Whenever there is RAM installed in the lower slot, it shows the same symptoms as before. When booting with only one RAM module in the upper slot, the Macbook shows graphic glitches when scrolling or changing windows that are seemingly exactly the same as in safe mode.

gfxCardStatus and the System Report still show that only the discrete GPU is being used. Switching to the integrated GPU via gfxCardStatus does not work although it is recognized and listed in the System Report and Dynamic Switching is enabled. There is still no startup chime and although the sound works it does not appear to be as loud as usual. A while ago my screen went black for a short while before turning on again only for the Macbook to crash a minute later.

At this point I have no idea what else could help or what might be causing this kind of behaviour. If the discrete GPU is at fault why is my Macbook apparently using it constantly and why would it only boot when only one RAM slot is in use? And if the logic board is at fault, how come the symptoms first appeared after multiple GPU restarts, why can't I switch to the iGPU and why do I experience graphic glitches when not in safe boot? By now I'm at the end of my ropes here and any kind of help would be very appreciated.

Edits

@LangLangC: The command you proposed yielded the following output:

  IG: FB0:off FB1:N/A FB2:N/A 3D:idle HDA:N/A  Power:on 
  EG: FB0:on  FB1:off FB2:off 3D:idle HDA:idle Power:on 
Policy:off GPUPowerDown:on Backlight Control:on Recovery:on
Power State Machine IG: 0 EG: 0

I was not able to switch to the integrated GPU afterwards and the output did not change as well. In safe mode I get the following output:

  IG: FB0:off FB1:N/A FB2:N/A 3D:idle HDA:N/A  Power:on 
  EG: FB0:on  FB1:off FB2:off 3D:idle HDA:N/A  Power:on 
Policy:on GPUPowerDown:on Backlight Control:on Recovery:on
Power State Machine IG: 0 EG: 0

However, Policy:on was showing in regular boot as well.

  • Just 2¢... the 2011s were fraught with flaws. You could spend a bunch of time and money trying to fix something that was horribly designed in the first place only to end up with a 7/8 year old laptop. Get a new(er) one and save yourself time, money, and aggravation. – Allan Jun 26 '18 at 15:22
  • Yes I thought about that but I only recently put in a new SSD as well as paying for the GPU replacement thinking it would last longer than a month 🙄. Don’t have the money at the time so I‘d like to try what i can before buying a new one... – Knabberjoe Jun 26 '18 at 15:27
  • You just replace the GPU and it failed again after less than a month? Didn't the repair facility offer some sort of warranty? – Allan Jun 26 '18 at 15:29
  • Yes, but they told me it would take them up to three weeks to look at it before sending it in again. I don't want to send it in only for them to tell me that I'd have to replace the logic board so I thought I'd try to figure out what's wrong first. If I can't fix it or come up with anything myself, I'll have them look at it again, of course. – Knabberjoe Jun 26 '18 at 15:35
  • I advise against that because you lose your "right of return" the longer you wait (meaning it will cost you more). They can tell you that you need a new logic board - it doesn't mean you have to buy one. At least you'll know it's a hardware issue (meaning there's nothing in software you can do to fix). – Allan Jun 26 '18 at 15:37

You must log in to answer this question.

Browse other questions tagged .