Tengo un Macbook Pro de 15 "desde principios de 2011 y estoy tratando de averiguar si la placa lógica está rota.
Antecedentes y síntomas originales
En 2016, mi Macbook primero mostró signos de una GPU rota. Dado que en el momento en que el programa de extensión de reparación de Apple todavía estaba en su lugar, me reemplazaron la placa lógica de forma gratuita. Sin embargo, hace aproximadamente un mes volvió a morir con los mismos síntomas. Lo envío a un taller de reparación de terceros para reemplazar la GPU. Funcionó bien por un tiempo, pero hace aproximadamente una semana volvió a cerrarse al azar. Más tarde encontré un par de Informes de pánico del kernel que indicaban un reinicio de GPU 4 veces con 10 segundos de diferencia, cuyas cabezas se veían así:
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:
.......
Después de esto, el Macbook se volvería a encender y continuó trabajando durante aproximadamente un día, sin embargo, en un momento dado, después de ponerlo en modo de suspensión, no se pudo apagar y funcionó durante una hora en mi maletín de la computadora portátil con bastante calor. Después de eso ya no pude arrancarlo normalmente. El arranque en modo seguro funcionaría de manera relativamente constante, sin embargo, a veces se bloquearía y, después de los bloqueos o al intentar arrancarlo regularmente, no se activaría un par de veces (generalmente dos o tres) incluso en modo seguro con solo el modo seguro. La luz indicadora blanca parpadea repetidamente tres veces seguidas. En ningún momento obtendré un sonido de inicio o los tres pitidos que pueden indicar un arranque fallido. Este es uno de los pánicos del núcleo de un fallo en modo de usuario único.
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
Curiosamente, el pánico del kernel surgiría en este punto durante el arranque más de una vez. Hay otro informe de pánico del kernel que indica los últimos kexts cargados y descargados (también en modo de usuario único).
Solución de problemas
He probado la prueba de hardware de Apple a través del modo de recuperación de Internet en varias etapas. La prueba no extensa no generaría ningún error al principio, sin embargo, en momentos posteriores (después de intentar deshabilitar la GPU discreta), incluso si se inicia la recuperación de Internet, el Macbook se congelaría o se bloquearía durante la prueba.
Pensando en este punto, que la GPU tenía la culpa, probé el método explicado por LangLangC en esta pregunta Problema de GPU , configurando una variable nvar para evitar que el Macbook use la GPU discreta en el arranque.
Sin embargo, siguiendo ese método, todavía no podía arrancar con regularidad y el Macbook básicamente mostraba los mismos síntomas que antes. Instalé gfxCardStatus durante un arranque seguro y me sorprendió ver que aparentemente mi Macbook estaba (y sigue funcionando) constantemente en la GPU discreta. Forzar el cambio a la GPU integrada no funcionaría (incluso al intentar seleccionarlo varias veces, lo que aparentemente es un error conocido para gfxCardStatus). Pensando ahora que podría ser un caso de mala memoria RAM, revertí el truco restableciendo SMC y PRAM, eliminando todas las variables NVAR y moviendo el archivo kext de nuevo a su lugar original, así como actualizando los cachés. Luego intenté volver a colocar la memoria RAM y probé los módulos individuales.
Situación actual
Resultó que, incluso sin el hackeo, el Macbook arrancará regularmente si solo se está utilizando la ranura superior de RAM. Cada vez que hay RAM instalada en la ranura inferior, muestra los mismos síntomas que antes. Cuando arranca con un solo módulo de RAM en la ranura superior, el Macbook muestra fallos gráficos al desplazar o cambiar ventanas que parecen ser exactamente las mismas que en el modo seguro.
gfxCardStatus y el informe del sistema aún muestran que solo se está utilizando la GPU discreta. El cambio a la GPU integrada a través de gfxCardStatus no funciona aunque se reconoce y se enumera en el Informe del sistema y la Conmutación dinámica está habilitada. Todavía no hay un timbre de inicio y, aunque el sonido funciona, no parece ser tan alto como de costumbre. Hace un tiempo mi pantalla se apagó por un corto tiempo antes de volver a encenderse solo para que la Macbook se bloquee un minuto después.
En este momento no tengo idea de qué otra cosa podría ayudar o qué podría estar causando este tipo de comportamiento. Si la GPU discreta tiene la culpa, ¿por qué aparentemente mi Macbook la usa constantemente y por qué solo se inicia cuando solo se utiliza una ranura de RAM? Y si la placa lógica tiene la culpa, ¿por qué aparecieron los síntomas por primera vez después de reiniciar múltiples GPU? ¿Por qué no puedo cambiar a la iGPU y por qué tengo problemas con los gráficos cuando no estoy en un arranque seguro? A estas alturas, estoy al final de mi carrera y cualquier tipo de ayuda sería muy apreciada.
Ediciones
@LangLangC: El comando que propusiste produjo el siguiente resultado:
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
Después no pude cambiar a la GPU integrada y la salida tampoco cambió. En modo seguro obtengo el siguiente resultado:
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
Sin embargo, Policy: on también se mostraba en el arranque regular.