WindowServer will crash for me somewhat frequently (but not every time) when I disconnected my external monitors from my MBP. I have a 4k monitor plugged in via a DP=>USB-C dongle and another 1080p monitor plugged in via a HDMI=>USB-C dongle. Normally I close the lid before disconnecting.
Running a 10.15.7 16" MBP with the i7 and 5300m. I have automated graphics switching enabled.
I think it may be some sort of weird race condition / interaction between closing the lid, sleep, AMD drivers, and graphics switching. (See attached crash reports and stack traces).
Has anyone encountered this particular crash (with complete_connect_change in the stack trace?)? Has anyone been able to reliably reproduce it? Has anyone been able to fix it?
Running a 10.15.7 16" MBP with the i7 and 5300m. I have automated graphics switching enabled.
I think it may be some sort of weird race condition / interaction between closing the lid, sleep, AMD drivers, and graphics switching. (See attached crash reports and stack traces).
Has anyone encountered this particular crash (with complete_connect_change in the stack trace?)? Has anyone been able to reliably reproduce it? Has anyone been able to fix it?
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [34977]
VM Regions Near 0:
-->
__TEXT 000000010b429000-000000010b42b000 [ 8K] r-x/r-x SM=COW /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/Resources/WindowServer
Application Specific Information:
StartTime:2021-02-09 18:23:32
GPU:IG&AMD
MetalDevice for accelerator(0x3327): 0x7fb649506f78 (MTLDevice: 0x7fb64c6ae000)
MetalDevice for accelerator(0x3903): 0x7fb649017698 (MTLDevice: 0x7fb64c6c0000)
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/EGP0@0/IOPP/EGP1@0/IOPP/GFX0@0/AMDRadeonX6000_AmdRadeonControllerNavi14/ATY,Boa@4
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/EGP0@0/IOPP/EGP1@0/IOPP/GFX0@0/AMDRadeonX6000_AmdRadeonControllerNavi14/ATY,Boa@3
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/EGP0@0/IOPP/EGP1@0/IOPP/GFX0@0/AMDRadeonX6000_AmdRadeonControllerNavi14/ATY,Boa@0
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x00007fff6a8ad9f0 _platform_memmove$VARIANT$Haswell + 240
1 com.apple.AMDRadeonX6000MTLDriver 0x00007fff23df78c1 BltMgr:ccRetiling(BltDevice*, _UBM_METADATARETILINGINFO*) + 357
2 com.apple.AMDRadeonX6000MTLDriver 0x00007fff23d79877 amdMtl_DoMetadataRetiling(AMD_UBMInterfaceRec*, AMD_HwCmdBufInfoRec*, _UBM_METADATARETILINGINFO*) + 48
3 com.apple.AMDRadeonX6000MTLDriver 0x00007fff23d8d54d -[AMD_MtlCmdBuffer commit] + 331
4 com.apple.AMDRadeonX6000MTLDriver 0x00007fff23da7e42 -[GFX10_MtlCmdBuffer commit] + 384
5 com.apple.Metal 0x00007fff35b5ed66 -[_MTLCommandBuffer commitAndWaitUntilSubmitted] + 38
6 com.apple.CoreDisplay 0x00007fff3057e8d0 CoreDisplay::MetalDevice::SurfaceColorFill(CoreDisplay:isplaySurface&, float, float, float, float) const + 2908
7 com.apple.CoreDisplay 0x00007fff30580144 CoreDisplay:isplaySurfacePool::GetNextSurface(int, int, CGSRegionObject*, CGSRegionObject*, CGSRegionObject*, double, double, unsigned int, CGColorSpace*, bool, unsigned long long) + 1424
8 com.apple.CoreDisplay 0x00007fff3055ed76 CoreDisplay:isplayPipe::Commit(CoreDisplay:isplayPipe::Transaction const&, bool) + 19486
9 com.apple.CoreDisplay 0x00007fff304e574e CoreDisplay:isplay::SetEOTF(gsl::span<unsigned short, -1l>, gsl::span<unsigned short, -1l>, gsl::span<unsigned short, -1l>, bool) + 172
10 com.apple.CoreDisplay 0x00007fff3053ad3b set_gamma_transfer(MPPriv*, MPGammaTransfer*, char const*, bool) + 1309
11 com.apple.CoreDisplay 0x00007fff305354c2 complete_connect_change + 391