Contribute
Register

Why CoreAudio creates NoDisplaySleepAssertion?

Status
Not open for further replies.
Joined
Nov 10, 2011
Messages
1,209
Motherboard
GA-H77N-WIFI F4
CPU
i7-3770
Graphics
HD 4000
Mobile Phone
  1. Android
Hi guys
I have a sleep problem with one program - BGLiveRadio, a simple internet radio player. When it's started, the screensaver doesn't start and the display doesn't go to sleep after some time. I ran one pmset -g assertions and here's the result:

Code:
Hackintosh:~ philip$ pmset -g assertions
1/20/13 9:25:43 PM GMT+0 
Assertion status system-wide:
   PreventUserIdleDisplaySleep    1
   CPUBoundAssertion              0
   PreventSystemSleep             0
   PreventUserIdleSystemSleep     1
   ExternalMedia                  0
   UserIsActive                   0
   ApplePushServiceTask           0
   BackgroundTask                 1


Listed by owning process:
  pid 699(coreaudiod): [0x000000010000031a] 00:21:28 NoIdleSleepAssertion named: "com.apple.audio.'AppleHDAEngineOutputDP:1B,3,1,2:0:{6D1E-595C-01010101}'.noidlesleep" 
  pid 699(coreaudiod): [0x000000050000031b] 00:21:28 NoDisplaySleepAssertion named: "com.apple.audio.'AppleHDAEngineOutputDP:1B,3,1,2:0:{6D1E-595C-01010101}'.nodisplaysleep" 
  pid 2024(helpd): [0x0000000c00000306] 00:43:45 BackgroundTask named: "com.apple.helpd.sdmbuilding" 


Kernel Assertions: 0x0004 
 * Kernel Assertion ID = 500
   Created At = 1/20/13 10:31:05 AM GMT+ 
   Modified At = 1/20/13 10:35:49 AM GMT+ 
   Owner ID = 0xffffff8011438000
   Level = 255
   Assertions Set = None (4)


 * Kernel Assertion ID = 501
   Created At = 1/20/13 10:31:06 AM GMT+ 
   Modified At = 1/20/13 10:35:49 AM GMT+ 
   Owner ID = 0xffffff80112e2000
   Level = 255
   Assertions Set = None (4)


 * Kernel Assertion ID = 502
   Created At = 1/20/13 10:32:05 AM GMT+ 
   Modified At = 1/1/70 2:00:00 AM GMT+02 
   Owner ID = 0xffffff80d0f08000
   Level = 0
   Assertions Set = None (4)

As you can see, (unknown to me) it creates one NoIdleSleepAssertion and one NoDisplaySleepAssertion. I really don't care about the first one, since I've turned the system sleep off anyway, but the second assertion disables both the screensaver and the display sleep and I want them to be operational. I have this program installed on my laptop too, but there's only one NoIdleSleepAssertion created by it and no NoDisplaySleepAssertion at all. Can you tell me how this can be fixed or something, because I see no reason for such behaviour from CoreAudio?

Also when I quit the program, a new assertion called PreventUserIdleDisplaySleep is created by powerd, which has a timeout of 300 second and after this disappears and this assertion is being created from time to time. Is there a way to disable it or something as well?
 
Hi guys
I have a sleep problem with one program - BGLiveRadio, a simple internet radio player. When it's started, the screensaver doesn't start and the display doesn't go to sleep after some time. I ran one pmset -g assertions and here's the result:

Code:
Hackintosh:~ philip$ pmset -g assertions
1/20/13 9:25:43 PM GMT+0 
Assertion status system-wide:
   PreventUserIdleDisplaySleep    1
   CPUBoundAssertion              0
   PreventSystemSleep             0
   PreventUserIdleSystemSleep     1
   ExternalMedia                  0
   UserIsActive                   0
   ApplePushServiceTask           0
   BackgroundTask                 1


Listed by owning process:
  pid 699(coreaudiod): [0x000000010000031a] 00:21:28 NoIdleSleepAssertion named: "com.apple.audio.'AppleHDAEngineOutputDP:1B,3,1,2:0:{6D1E-595C-01010101}'.noidlesleep" 
  pid 699(coreaudiod): [0x000000050000031b] 00:21:28 NoDisplaySleepAssertion named: "com.apple.audio.'AppleHDAEngineOutputDP:1B,3,1,2:0:{6D1E-595C-01010101}'.nodisplaysleep" 
  pid 2024(helpd): [0x0000000c00000306] 00:43:45 BackgroundTask named: "com.apple.helpd.sdmbuilding" 


Kernel Assertions: 0x0004 
 * Kernel Assertion ID = 500
   Created At = 1/20/13 10:31:05 AM GMT+ 
   Modified At = 1/20/13 10:35:49 AM GMT+ 
   Owner ID = 0xffffff8011438000
   Level = 255
   Assertions Set = None (4)


 * Kernel Assertion ID = 501
   Created At = 1/20/13 10:31:06 AM GMT+ 
   Modified At = 1/20/13 10:35:49 AM GMT+ 
   Owner ID = 0xffffff80112e2000
   Level = 255
   Assertions Set = None (4)


 * Kernel Assertion ID = 502
   Created At = 1/20/13 10:32:05 AM GMT+ 
   Modified At = 1/1/70 2:00:00 AM GMT+02 
   Owner ID = 0xffffff80d0f08000
   Level = 0
   Assertions Set = None (4)

As you can see, (unknown to me) it creates one NoIdleSleepAssertion and one NoDisplaySleepAssertion. I really don't care about the first one, since I've turned the system sleep off anyway, but the second assertion disables both the screensaver and the display sleep and I want them to be operational. I have this program installed on my laptop too, but there's only one NoIdleSleepAssertion created by it and no NoDisplaySleepAssertion at all. Can you tell me how this can be fixed or something, because I see no reason for such behaviour from CoreAudio?

Also when I quit the program, a new assertion called PreventUserIdleDisplaySleep is created by powerd, which has a timeout of 300 second and after this disappears and this assertion is being created from time to time. Is there a way to disable it or something as well?

I think the reason behind "active audio" (eg. app with audio channel open) preventing sleep is a simple one: If you leave your computer playing music, you don't want it to go to sleep as the music would stop while you're listening.

If the app in question (internet radio thing) is keeping an open audio channel when the music is stopped, well that is just a poorly written app. But the OS is doing the right thing...
 
I think the reason behind "active audio" (eg. app with audio channel open) preventing sleep is a simple one: If you leave your computer playing music, you don't want it to go to sleep as the music would stop while you're listening.

If the app in question (internet radio thing) is keeping an open audio channel when the music is stopped, well that is just a poorly written app. But the OS is doing the right thing...

You have a point, but why the app creates one NoIdleSleepAssertion and one NoDisplaySleepAssertion on my desktop and only one NoIdleSleepAssertion on my ProBook and no NoDisplaySleepAssertion at all? What's the difference? After all, in this case it's logical to prevent the PC from going to sleep and that's ok with me, but why it prevents the display too? Maybe it's not about the coding or at least not entirely.

How about the second thing:

Also when I quit the program, a new assertion called PreventUserIdleDisplaySleep is created by powerd, which has a timeout of 300 second and after this disappears and this assertion is being created from time to time. Is there a way to disable it or something as well?

Is it normal as well - assertion, which prevents the display sleep for 5 minute, appearing from time to time, is it normal as well?

Edit: maybe I have to contact the developer after all, fortunately he's Bulgarian too.
 
Ok, some progress, it's not this program that creates these assertions, it's the CoreAudio itself, I tried several players and the result was the same, a NoDisplaySleepAssertion is created even when the Flash Player uses CoreAudio to play the sound from the flash clips.
 
Ok, some progress, it's not this program that creates these assertions, it's the CoreAudio itself, I tried several players and the result was the same, a NoDisplaySleepAssertion is created even when the Flash Player uses CoreAudio to play the sound from the flash clips.

And I guess on your ProBook using the exact same programs this assertion is not created? If so, could be patched AppleHDA issue?

Are you using HDMI audio? That would at least somewhat explain audio creating a display assertion...
 
Are you using HDMI audio? That would at least somewhat explain audio creating a display assertion...

As a matter of fact, I do. I suspect it may be responsible for this issue, but right now I don't have a male -> male stereojack cable to test this theory (my LG M2232D-PZ has a female stereojack sound input).
 
Ok, the mystery is solved: it's the HDMI audio! I attached my old speakers to my desktop and guess what: only one NoIdleSleepAssertion and no NoDisplaySleepAssertion at all! I think there's a point in all this - as far as I know, when the display goes to sleep, the HDMI audio goes to sleep as well and if you listening some music, it will stop in the moment the display has gone to sleep.
 
For me, it was Chrome that was causing this.... it just happened to coincide with upgrading to 10.11.3 (from starting with 10.11.2) and going dual monitor (which has caused other sleep issues.)

But, stumbling on this thread, I was able to work through the various extensions that I have in Chrome to see which ones were causing this.

Had been trying to do HDMI Audio for years before I went Hackintosh... and now have to decide which is more important.

For me, the extensions that caused this were: Push Bullet, Google Voice, Woot! Watcher and (HTML5) Audio Eq. The last two I know I can do without....undecided on the other two. If only enable/disable state didn't sync in chrome.

The Dreamer.
 
Status
Not open for further replies.
Back
Top