Ho un MacBook Pro da 15 "dai primi mesi del 2011 e sto cercando di capire se la scheda logica è rotta.
Sfondo e sintomi originali
Nel 2016, il mio Macbook ha mostrato per la prima volta i segni di una GPU rotta. Dal momento che al momento il programma di estensione della riparazione di Apple era ancora a posto, ho ottenuto la scheda logica sostituita gratuitamente. Tuttavia, circa un mese fa è morto di nuovo con gli stessi sintomi. Lo mando in un negozio di riparazione di terze parti per sostituire la GPU. Ha funzionato bene per un po ', ma circa una settimana fa si è chiuso di nuovo in modo casuale. In seguito ho trovato un paio di Kernel Panic Reports che indicavano una GPU che si riavviava 4 volte con 10 secondi di distanza le cui testate assomigliavano a questo:
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:
.......
Successivamente il Macbook si riaccende e continua a funzionare per circa un giorno, tuttavia, a un certo punto, dopo averlo messo in modalità di sospensione, non è riuscito a spegnersi e ha funzionato per un'ora nella mia custodia del laptop che scottava notevolmente. Dopo di ciò, non ero più in grado di avviarlo normalmente. L'avvio in modalità provvisoria funzionerebbe in modo relativamente coerente, tuttavia a volte andrebbe in crash e dopo gli arresti anomali o il tentativo di avviarlo regolarmente, non si accenderebbe per un paio di volte (di solito due o tre) anche in modalità provvisoria con solo il indicatore luminoso bianco che lampeggia ripetutamente per tre volte di seguito. In nessun momento otterrò un segnale acustico di avvio o tre segnali acustici che possono indicare un avvio non riuscito. Questo è uno dei panici del kernel di un arresto anomalo in modalità utente singolo.
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
È interessante notare che il panico del kernel si sarebbe verificato a questo punto durante l'avvio più di una volta. C'è un altro rapporto sul panico del kernel che indica gli stessi ultimi kex caricati e non caricati (anche in modalità utente singolo).
Risoluzione dei problemi
Ho provato l'Apple Hardware Test via Internet Recovery Mode in più fasi. Il test non esaustivo non comporterebbe alcun errore all'inizio, tuttavia, in momenti successivi (dopo aver tentato di disabilitare la GPU discreta) anche se si avviava in Internet Recovery, il Macbook si bloccava o si bloccava durante il test.
Pensando a questo punto, che la GPU era colpa, ho provato il metodo spiegato da LangLangC in questa domanda GPU Problem , impostando una variabile nvar per impedire al Macbook di utilizzare la GPU discreta all'avvio.
Seguendo questo metodo, tuttavia, non ero ancora in grado di avviarsi regolarmente e il Macbook mostrava in pratica gli stessi sintomi di prima. Ho installato gfxCardStatus durante un avvio sicuro e sono rimasto sorpreso nel vedere che apparentemente il mio Macbook era (ed è tuttora) costantemente in esecuzione sulla GPU discreta. Il passaggio forzato alla GPU integrata non funzionerebbe (anche con il tentativo di selezionarlo più volte, apparentemente un bug ben noto per gfxCardStatus). Ora pensando che potrebbe essere un caso di RAM scadente ho invertito l'hack ripristinando SMC e PRAM cancellando tutte le variabili NVAR e spostando il file kext nella sua posizione originale e aggiornando le cache. Ho quindi provato a ripristinare la RAM e a testare i singoli moduli.
Situazione attuale
Si è scoperto che anche senza l'hack il Macbook si avvierà regolarmente se è in uso solo lo slot superiore della RAM. Ogni volta che c'è una RAM installata nello slot inferiore, mostra gli stessi sintomi di prima. Quando si avvia con un solo modulo RAM nello slot superiore, il Macbook mostra anomalie grafiche durante lo scorrimento o la modifica di finestre apparentemente identiche a quelle della modalità provvisoria.
gfxCardStatus e il rapporto di sistema mostrano ancora che viene utilizzata solo la GPU discreta. Il passaggio alla GPU integrata tramite gfxCardStatus non funziona sebbene sia riconosciuto ed elencato nel Report di sistema e la commutazione dinamica sia abilitata. Non c'è ancora il suono di avvio e anche se il suono funziona non sembra essere il più alto del solito. Qualche tempo fa il mio schermo è diventato nero per un po 'di tempo prima di riaccenderlo solo per MacBook che si arresta un minuto dopo.
A questo punto non ho idea di cos'altro potrebbe aiutare o cosa potrebbe causare questo tipo di comportamento. Se la GPU discreta è colpa del fatto che il mio Macbook è apparentemente in uso e perché dovrebbe avviarsi solo quando è in uso un solo slot RAM? E se la scheda logica è in errore, come mai i sintomi sono comparsi per la prima volta dopo il riavvio di più GPU, perché non posso passare all'iGPU e perché ho problemi grafici quando non sono in modalità di avvio sicuro? Ormai sono alla fine delle mie corde qui e qualsiasi tipo di aiuto sarebbe molto apprezzato.
modifiche
@LangLangC: Il comando che hai proposto ha prodotto il seguente 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
In seguito non sono riuscito a passare alla GPU integrata e anche l'uscita non è cambiata. In modalità sicura ottengo il seguente 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
Tuttavia, Policy: on veniva mostrato anche all'avvio regolare.