Last week I let my mid-2012 13″ MacBook Pro apply the latest update for Mac OS High Sierra, version 10.13.4. That, it seems, was a mistake.
Ever since that day, when I close the lid and let it sleep for more than a few minutes, it will crash on wake up. The only errors I see in the system logs are regarding com.apple.preference.displays.MirrorDisplays not starting properly. Looking online for the error message [“com.apple.xpc.launchd  (com.apple.preference.displays.MirrorDisplays): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.”], I found a number of places reporting that it has been happening to them in various releases of High Sierra. In all the cases I saw, the errors are in the logs and the computer fails to wake up from sleeping.
This is what happens when I open the lid on the laptop after it has been asleep for a while:
Apple’s Twitter support team were not very helpful on this, so I filed a bug report instead, attaching screen photos and other information as requested. So far, I’ve heard nothing back from that, though that is not uncommon (Apple are typically silent until the ticket is fixed).
While I was researching online, I did find a couple of suggestions that had worked for a few people at least. The first is simple, just make sure the option in the display settings to show the AirPlay icon on the menu bar is unchecked, like this:
That made no difference in my case, so I looked at the second suggestion. This one is more involved, and requires rebooting into recovery mode & disabling the system integrity protection feature so that system files can be modified:
- Boot the system into recovery mode (restart holding Command + R while it boots)
- From the menu bar, launch a Terminal application
- Type the following command to disable system integrity protection: csrutil disable
- Reboot back into regular Mac OS
- Edit /System/Library/LaunchAgents/com.apple.preference.displays.MirrorDisplays.plist, commenting out the line <string>Aqua</string>
- Reboot back into recovery mode
- Open the Terminal and enter the following command: csrutil enable;
This did not work for me either. My next experiment is to comment out that entire plist file and see whether that makes any difference. I will update with the results of that experiment (and, of course, any information I get back in response to the bug report I filed with Apple).
Update 1 (April 17, 2018):
Commenting out the entire file did not resolve the issue. Still crashes the same way each time it wakes up from hibernate (short sleeps still appear to be OK).