I'm using a 21.5-inch 2017 iMac with 3.6GHz i7 CPU, and Radeon Pro 560 graphics card. I'm running Mac OS Mojave 10.14.6

For the last week, the iMac will not finish booting. The progress bar gets halfway, it stalls, and eventually it appears to shut off. If I boot in safe mode, it will boot.

I have removed all non-Apple extensions, login items, daemons, etc, etc. But it makes no difference.

In the console, I see the following error message every time at the exact timestamp of the boot sequence where the Mac dies:

com.apple.xpc.launchd[1] (com.apple.displaypolicyd[418]): Service exited with abnormal code: 1

All the questions I can find online about com.apple.displaypolicyd seem to involve Hackintoshes. This is not a Hackintosh.

UPDATE (2021-02-08): After enabling verbose mode, here's a sequence of screenshots during boot:

Boot 1

Boot 2

Boot 3

Boot 4

Boot 5

Boot 6

Boot 7

Boot 8

Boot 9

The sequence ends with what looks like:

IOConsoleUsers: time(0) 0->0, lin 0, llk 1,
IOConsoleUsers: GIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0

Does anyone have any insight on what might be going on? Is the graphics card going bad? Might there be some setting I could adjust to fix this?

UPDATE (2021-03-03): Noticed today there is a /var/log/displaypolicy/ folder containing the files displaypolicyd.1/0/0.log, displaypolicyd.log, and iogdiagnose-last.bin. In case these might be useful in diagnosing the issue, here is a ZIP of those files.

UPDATE (2021-04-30): Sorry for the long delay. Here's another set of images made after setting the additional boot-args requested by @pion. Not sure there's a ton of difference, but please let me know if you see anything significant.

Boot Again 1

Boot Again 2

Boot Again 3

Boot Again 4

Boot Again 5

Boot Again 6

The sequence ends in almost the same place as before, with what looks like:

IOConsoleUsers: GIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0
  levelControl->setValueChangeHandler ( &changeVolumeHandler <ptr>, this <ptr> ) for coreAudioChannel ID 0
  controlID: 0, coreAudioChannelID = 0 MASTER oldValue 0xC newVa

It ends mid-line (presumably that would have been "newValue"). The screen remains unchanged for a few moments, then everything goes black.

  • Any progress? I ran into same issue
    – mifkamaz
    Apr 25, 2021 at 6:20

1 Answer 1


Let’s start with the basics and permanently enable verbose mode for booting (you can always turn it off later). Boot into Safe Mode (or single-user mode, either should work) and run the following in Terminal:

$ sudo nvram boot-args="-v"

Then reboot. As you are booting, I recommend using your iPhone to take a slow-mo video of the screen so you can capture the boot text. If you can then put together some screencaps of full screens of text and share them here, we can try to see if we can catch a log of the failure sequence.


From your screenshots I am starting to suspect GPU involvement. Try booting with the following and see if you get different output:

$ sudo nvram boot-args="-v panic_on_display_hang panic_on_gpu_hang"

Also can you boot into safe mode and check /Library/Logs/DiagnosticReports for anything involving displaypolicyd?

  • I don't have physical access to the computer this weekend, but I'll try to get some screenshots by next week.
    – Kirkman14
    Feb 7, 2021 at 19:20
  • Screenshots added.
    – Kirkman14
    Feb 9, 2021 at 1:09
  • I’ve added a couple of steps to try next.
    – pion
    Feb 11, 2021 at 2:16
  • It's been a while since I could get physical access. Today I looked through DiagnosticReports. Did not see anything with displaypolicyd, but there were multiple shutdown_stall reports as well as a single kernel gpuRestart report from last month.
    – Kirkman14
    Mar 1, 2021 at 15:21
  • @Kirkman14 Did you try adding the boot args I mentioned?
    – pion
    Mar 1, 2021 at 22:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .