2011 başında 15 "Macbook Pro'luyum ve mantık panosunun kırılıp kırılmadığını anlamaya çalışıyorum.
Arkaplan ve Orijinal Belirtiler
2016 yılında, Macbook ilk kez bozuk bir GPU belirtisi gösterdi. Apple'ın onarım genişletme programı halen yürürlükte olduğundan, mantık kartını ücretsiz değiştirdim. Ancak, yaklaşık bir ay önce yine aynı semptomlarla öldü. GPU'yu değiştirmek için üçüncü taraf tamir dükkanına gönderdim. Bir süre için iyi çalıştı, ancak yaklaşık bir hafta önce rastgele tekrar kapattı. Daha sonra GPU’nun başlarının şöyle göründüğü 10 saniyeyle 4 kez yeniden başladığını belirten bir Kernel Panik Rapor buldum
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:
.......
Bunu takiben Macbook tekrar açılır ve yaklaşık bir gün boyunca çalışmaya devam ederdi, ancak uyku moduna geçirdikten sonra bir noktada kapanamadı ve dizüstü bilgisayar kasamda oldukça sıcak çalıştı. Ondan sonra artık normal şekilde çizemedim. Güvenli modda önyükleme işlemi nispeten tutarlı bir şekilde çalışır, ancak yine de bazen çökebilir ve çarpışmalardan sonra veya düzenli olarak önyüklemeye çalışırken, yalnızca güvenli modda bile birkaç kez (genellikle iki veya üç) açılmaz beyaz gösterge ışığı art arda üç kez art arda yanıp sönüyor. Hiçbir noktada başlangıç zili veya başarısız bir önyükleme belirtebilecek üç bip sesi çıkarmazdım. Bu, tek kullanıcı modunda bir çökmenin çekirdek paniklerinden biridir.
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
İlginçtir ki, çekirdek panik bu noktada önyükleme sırasında bir kereden fazla ortaya çıkacaktı. Aynı son yüklenen ve boşaltılan keksleri belirten başka bir çekirdek panik raporu var (ayrıca tek kullanıcı modunda).
Sorun giderme
Apple Hardware Test'i İnternet Kurtarma Modu üzerinden birçok aşamada denedim. Kapsamlı olmayan test, ilk başta herhangi bir hataya yol açmaz, ancak daha sonraki zamanlarda (ayrık GPU’yu devre dışı bırakmaya çalıştıktan sonra), İnternet Kurtarma’da önyükleme yapılsa bile, Macbook test sırasında donacak veya çökecektir.
Bu noktada, GPU’nun hatalı olduğunu düşünerek, bu soruda LangLangC tarafından açıklanan yöntemi denedim. GPU Sorunu , Macbook'un önyükleme sırasında ayrık GPU kullanmasını durdurmak için bir nvar değişkeni ayarlamak.
Bununla birlikte, bu yöntemi izleyerek hala düzenli olarak önyükleme yapamadım ve Macbook daha önce olduğu gibi aynı belirtileri gösterdi. Güvenli önyükleme sırasında gfxCardStatus'u yükledim ve görünüşe göre Macbook'umun sürekli GPU'da sürekli çalıştığını görünce şaşırdım. Entegre GPU'ya geçmeye zorlama çalışmaz (gfxCardStatus için iyi bilinen bir hata olan birden çok kez seçmeye çalışırken bile). Artık kötü bir RAM olabileceğini düşünerek SMC ve PRAM'ı tüm NVAR değişkenlerini silerek ve kext dosyasını önbelleklerini güncelleyerek orijinal konumuna geri getirerek hack'i tersine çevirdim. Daha sonra RAM'i tekrar yerleştirmeyi denedim ve bireysel modülleri test ettim.
Mevcut durum
Sadece üst RAM yuvası kullanılıyorsa, Macbook'un hack olmadan bile düzenli olarak açılacağı ortaya çıktı. Ne zaman alt yuvaya RAM takılıysa, öncekiyle aynı belirtileri gösterir. Üst yuvada yalnızca bir RAM modülüyle önyükleme yaparken, Macbook, güvenli moddaki gibi görünen pencereleri kaydırırken veya değiştirirken grafik hataları gösterir.
gfxCardStatus ve Sistem Raporu hala yalnızca ayrı GPU'ların kullanıldığını gösteriyor. GfxCardStatus aracılığıyla tümleşik GPU'ya geçiş, Sistem Raporunda tanınıp listelenmesine ve Dinamik Değiştirme etkin olmasına rağmen çalışmaz. Hala başlangıç zili yok ve ses çalışsa da, her zamanki gibi yüksek görünmüyor. Bir süre önce ekranım kısa bir süre karartıldı, bir dakika sonra sadece Macbook'un çökmesine neden oldu.
Bu noktada başka nelerin yardım edebileceği veya bu tür davranışlara neyin neden olduğu hakkında hiçbir fikrim yok. Ayrık GPU hatalıysa neden Macbook'um görünüşte sürekli kullanıyor ve neden yalnızca bir RAM yuvası kullanılıyorsa neden önyükleme yapacak? Mantık kurulu hatalıysa, belirtiler ilk önce birden fazla GPU yeniden başlatıldıktan sonra nasıl ortaya çıktı, neden iGPU'ya geçemiyorum ve güvenli bir önyükleme yapmadığınızda neden grafik arızası yaşayabiliyorum? Şimdilik burada iplerimin sonunda ben varım ve her türlü yardım çok makbule geçecek.
Düzenlemeler
@LangLangC: Teklif ettiğiniz komut aşağıdaki çıktıyı verdi:
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
Daha sonra entegre GPU'ya geçemedim ve çıktı da değişmedi. Güvenli modda aşağıdaki çıktıyı alıyorum:
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
Ancak, Politika: açık normal önyüklemede de gösteriliyordu.