2

I have the screensaver on my MacBook set to kick in after two minutes of inactivity and require a password immediately after it does. Normally, this works fine, but in the last week or so, the screensaver hasn't come on at all. After skimming pmsets manual page, I made this discovery:

$ pmset -g assertions
2015-04-11 22:30:47 -0700 
Assertion status system-wide:
   BackgroundTask                 0
   ApplePushServiceTask           0
   UserIsActive                   1
   PreventUserIdleDisplaySleep    1
   PreventSystemSleep             0
   ExternalMedia                  0
   PreventUserIdleSystemSleep     1
   NetworkClientActive            0
Listed by owning process:
   pid 71(hidd): [0x004d32870009146b] 12:40:26 UserIsActive named: "com.apple.iohideventsystem.queue.tickle" 
        Timeout will fire in 7192 secs Action=TimeoutActionRelease
   pid 19013(AddressBookSour): [0x00332e3200050457] 486:17:00 PreventUserIdleDisplaySleep named: "com.apple.avkit.disableUserIdleDisplaySleep" 
        Details: disable user idle display sleep
Kernel Assertions: 0x100=MAGICWAKE
   id=504  level=255 0x100=MAGICWAKE mod=2015-04-11, 12:44:09 description=en1 owner=en1

If I'm reading this right, the latter assertion there would prevent the screensaver from kicking in or the display from going to sleep. (Presumably the former assertion exists only because I'm actively using the machine.) The problem is…it belongs to a process that doesn't exist at this point.

$ ps -e | grep 19013
$ 

No wonder the screensaver isn't activating.

Am I right? What might be causing this assertion to stick around after its process died? Short of logging out or rebooting, how do I get rid of it?

8
  • what about the Magicwake assertion?
    – Ruskes
    Apr 12, 2015 at 5:36
  • try this to test defaults -currentHost write com.apple.syncservices SyncingDisabled YES
    – Ruskes
    Apr 12, 2015 at 5:41
  • @Buscar웃 Doesn't seem to have helped—the ghost assertion is still there. As for the MAGICWAKE line, that sounds like a wake-from-sleep-on-LAN thing (especially because of the owner=en1 bit). Apr 12, 2015 at 5:47
  • did you restart after changing the sync service
    – Ruskes
    Apr 12, 2015 at 5:52
  • @Buscar웃 No. Take a closer look at my question—I ask how to get rid of the assertion short of logging out or rebooting. Apr 12, 2015 at 5:53

2 Answers 2

1

I had the same issue: a PreventUserIdleDisplaySleep assertion set by a process that was no longer active. Killing the powerd process (to be restarted by launchd) cleared the assertion without logging out or rebooting.

$ ps -e | grep powerd
63 ??         0:00.05 /System/Library/CoreServices/powerd.bundle/powerd
$ sudo kill 63

I'm not sure about any undesirable side effects might occur when killing powerd, however.

0

By sending SIGHUP you can make sure the process simply resets itself. To be especially careful I did it through the launchd mechanism so the system knows what is going on and keeps track of it.

sudo launchctl kill SIGHUP system/com.apple.powerd

You must log in to answer this question.

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