New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 903905 link

Starred by 1 user

Issue metadata

Status: Closed
Owner:
Closed: Dec 28
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Mac goes into Sleep Mode, although (Spotify-)Music is playing in a Tab

Project Member Reported by meh...@chromium.org, Nov 9

Issue description

Chrome Version: 70.0.3538.77 or 72.0.3606.0
OS: macOS 10.14.1

What steps will reproduce the problem?
(1) Run Spotify Web Player in tab.
(2) Have some more tabs open.
(3) Leave the Mac, still listen to the music and cook something in the kitchen.

What is the expected result?
System should not go into Sleep Mode after 10-15 Minutes.

What happens instead?
System goes into Sleep Mode after 10-15 Minutes..


Sleep Time is set to after 10 Minutes.
Display Turn off time is set to after 10 Minutes.

If the Tab is playing Music, the Activity Monitor is showing for Chrome: Preventing Sleep -> Yes.

The Console.App brings the following messages, maybe it is helpful?

Not sure if this is a Chrome or a macOS issue?!

Thanks.


standard	19:57:18.238418 +0100	powerd	Process coreaudiod.150 Summary PreventUserIdleSystemSleep "com.apple.audio.AppleHDAEngineOutput:1B,0,1,2:0.context.preventuseridlesleep" age:00:01:59  id:4295000655 [System: PrevIdle] [Qualifiers: AudioOut]
standard	19:57:18.238521 +0100	powerd	Process Google Chrome.856 Summary NoIdleSleepAssertion "Playing audio" age:00:10:58  id:4295000954 [System: PrevIdle]
standard	19:58:25.777365 +0100	powerd	Process Google Chrome.856 Released NoIdleSleepAssertion "Playing audio" age:00:12:05  id:4295000954 [System: PrevIdle]
standard	19:58:25.977891 +0100	powerd	Process coreaudiod.150 TurnedOff PreventUserIdleSystemSleep "com.apple.audio.AppleHDAEngineOutput:1B,0,1,2:0.context.preventuseridlesleep" age:00:03:07  id:4295000655 [System: No Assertions]
standard	19:58:25.978695 +0100	loginwindow	SleepWakeCallback_block_invoke | enter. messageType=0xe0000270, gPerformSleepWakeActions=1, userSwitchedOut=0, screenIsLocked=1
standard	19:58:25.978744 +0100	loginwindow	SleepWakeCallback_block_invoke | exiting
standard	19:58:25.979219 +0100	CommCenter	[power]: system can sleep
standard	19:58:25.979175 +0100	securityd	can system sleep
standard	19:58:25.979707 +0100	locationd	{"msg":"received IOKit notification", "sleepNotification":"CanSystemSleep", "keepAliveClientCount":0}
standard	19:58:25.979036 +0100	powerd	Received kIOMessageCanSystemSleep. UUID: B881D32D-976C-421D-89B2-281DFEE7EE56
standard	19:58:25.979838 +0100	sharingd	Device can sleep
standard	19:58:25.979896 +0100	CalNCService	System can sleep query received: kIOMessageCanSystemSleep
standard	19:58:25.981241 +0100	loginwindow	sleep 1
standard	19:58:25.981377 +0100	loginwindow	sleep 1
standard	19:58:25.981767 +0100	loginwindow	SleepWakeCallback_block_invoke | enter. messageType=0xe0000280, gPerformSleepWakeActions=1, userSwitchedOut=0, screenIsLocked=1
standard	19:58:25.982966 +0100	corebrightnessd	Will Sleep
standard	19:58:25.981888 +0100	loginwindow	SleepWakeCallback_block_invoke | kIOMessageSystemWillSleep, lockScreen if not already
standard	19:58:25.981668 +0100	securityd	system will sleep
standard	19:58:25.981884 +0100	powerd	Received kIOMessageSystemWillSleep. UUID: B881D32D-976C-421D-89B2-281DFEE7EE56
standard	19:58:25.981957 +0100	loginwindow	SleepWakeCallback_block_invoke |      Ignore system sleep, we trigger on display sleep only
standard	19:58:25.982207 +0100	CommCenter	[power]: system will sleep
standard	19:58:25.981713 +0100	securityd	0x7ffee9154a20 will sleep
standard	19:58:25.982528 +0100	AirPlayUIAgent	BecomingInactive: NSWorkspaceWillSleepNotification
standard	19:58:25.982800 +0100	AirPlayXPCHelper	<<<< FigRoutingManager_macOS >>>> routingManager_endpointUIAgentEventCallback: CMSession: UIAgent callback received deviceWillSleep
standard	19:58:25.984037 +0100	powerd	sendNoRespNotification: 0x19
standard	19:58:25.984650 +0100	rapportd	State changed: FullWake -> DarkWake, 0x1 < DarkWake >
standard	19:58:25.982235 +0100	loginwindow	SleepWakeCallback_block_invoke | exiting
standard	19:58:25.984468 +0100	powerd	Process powerd.65 Created InternalPreventSleep "com.apple.powermanagement.darkwakelinger" age:00:00:00  id:55834608527 [System: SRPrevSleep kCPU]
standard	19:58:25.983229 +0100	identityservicesd	System going to sleep
standard	19:58:25.988774 +0100	locationd	{"msg":"received IOKit notification", "sleepNotification":"SystemWillSleep", "keepAliveClientCount":0}
standard	19:58:25.989200 +0100	sharingd	Device will sleep
standard	19:58:25.989449 +0100	CalNCService	System will sleep: kIOMessageSystemWillSleep
standard	19:58:25.989281 +0100	sharingd	Stopping for user 501 on sleep
standard	19:58:25.989709 +0100	CalNCService	Suspended timer for imminent system sleep
standard	19:58:25.990997 +0100	locationd	@ClxEvent, ApSleep, 1, delta, 3285.9
standard	19:58:40.986792 +0100	powerd	Process powerd.65 TimedOut InternalPreventSleep "com.apple.powermanagement.darkwakelinger" age:00:00:15  id:55834608527 [System: SRPrevSleep kCPU]
standard	19:58:40.988426 +0100	powerd	chooseStandbyDelay(): lowBattery = false, battery powered = false, capacity=0, lowBatteryThreshold=0; chosen delay=86400
standard	19:58:40.988956 +0100	powerd	Eligible for Standby: 0
standard	19:58:40.989001 +0100	powerd	standbyDelay:86400 eligibleForStandby:0 elapsedTime:0 gDelta2Standby:86400
standard	19:58:40.989073 +0100	powerd	Entering Sleep state due to 'Idle Sleep'
standard	19:58:40.989565 +0100	powerd	connectionFireNotification: 0x0
standard	19:58:40.989778 +0100	bluetoothd	PMConnectionHandler - IOPMSystemPowerStateCapabilities - Sleep
standard	19:58:40.989982 +0100	rapportd	State changed: DarkWake -> Sleep, 0x20 < Sleep >
standard	19:58:40.989824 +0100	bluetoothd	-[CBXPCManager systemWillSleep] - Is Sleeping
standard	19:58:40.989883 +0100	apsd	<private>: prepareForSleep
standard	19:58:40.990132 +0100	rapportd	Sleep async ack
standard	19:58:40.990402 +0100	apsd	<private>: prepareForSleep
standard	19:58:40.990435 +0100	apsd	<private>: prepareForSleep
standard	19:58:40.990648 +0100	apsd	<private>: prepareForSleep
standard	19:58:40.991983 +0100	apsd	<private>: prepareForSleep
standard	19:58:40.993163 +0100	bluetoothd	Stopping Scan For Sleep
standard	19:58:41.999925 +0100	apsd	<private>: prepareForSleep for 0 darkWakeEnabled
standard	19:58:41.999954 +0100	apsd	<private>: prepareForSleep for 0 darkWakeEnabled
standard	19:58:41.999977 +0100	apsd	<private>: prepareForSleep for <private>
standard	19:58:41.000069 +0100	apsd	<private>: prepareForSleep for <private>
standard	19:58:41.001424 +0100	apsd	<private>: prepareForSleep
standard	19:58:41.001463 +0100	apsd	<private>: prepareForSleep for 0
standard	19:58:41.001518 +0100	apsd	<private>: prepareForSleep for 0
standard	19:58:41.001638 +0100	apsd	<private>: prepareForSleep for <private>
standard	19:58:41.001787 +0100	apsd	<private>: prepareForSleep for <private>
standard	19:58:41.001927 +0100	apsd	<private>: prepareForSleep
standard	19:58:43.002752 +0100	powerd	No AdaptiveWake is requested. InactivityEnd:Mon Jan  1 01:00:00 2001 PowerNap State:0
standard	19:58:43.009305 +0100	kernel	ARPT: 12522.626318: AirPort_Brcm43xx::powerChange: System Sleep
standard	19:58:43.511290 +0100	kernel	ARPT: 12523.128353: IOPMPowerSource Information: onSleep,  SleepType: Normal Sleep,
standard	19:58:43.511955 +0100	kernel	**** [IOBluetoothHostControllerTransport][powerStateWillChangeTo] -- SleepType is kIOPMSleepTypeNormalSleep -- this = 0x8000 ****
standard	19:58:44.580243 +0100	kernel	AppleCredentialManager: powerStateWillChangeToGated: SYSTEM WILL SLEEP.
standard	19:58:44.600427 +0100	kernel	**** [IOBluetoothHostControllerUSBTransport][setPowerStateWL] -- exiting -- microsecondsUntilComplete = 20000000 -- powerStateOrdinal = IDLE, originalPowerState = ON -> mPendingInternalPowerState = SLEEP -- this = 0x8000 ****
standard	20:00:20.001029 +0100	powerd	No need to refresh inactivity prediction: phase=0, start=0.000000, now=563482820.001013
standard	19:58:44.750855 +0100	kernel	**** [BroadcomBluetoothHostControllerUSBTransport][WaitForAllIOsToBeAborted] -- SLEEP -> SLEEP -- before calling super::WaitForAllIOsToBeAborted() -- mLMPBulkInOutstandingIOCount = 0 -- this = 0xffffff8037b38000 ****
standard	19:58:45.277895 +0100	kernel	PMRD: System Sleep
standard	19:58:45.299641 +0100	kernel	IOCPUSleepKernel
standard	19:58:45.300707 +0100	kernel	IOPlatformSleepAction -> AppleSMC
standard	20:00:20.002434 +0100	powerd	sendNoRespNotification: 0x8019
standard	19:58:45.300710 +0100	kernel	IOPlatformSleepAction -> AppleSMBusControllerICH
standard	19:58:45.300712 +0100	kernel	IOPlatformSleepAction -> AppleThunderboltHAL
standard	19:58:45.344806 +0100	kernel	AppleThunderboltGenericHAL::lateSleep - complete - took 44 milliseconds
standard	19:58:45.345359 +0100	kernel	ACPI SLEEP

 
Labels: Target-73 M-73
Owner: lgrey@chromium.org
Status: Assigned (was: Untriaged)
Mac triage: to lgrey@ for M73.
Labels: Needs-Feedback
Does this repro every time?
Hello lgrey@: Yes I can reproduce it every time on two different devices: iMac 2012 and MacBookAir 2012.

I have an account for the "free" Spotify version at https://open.spotify.com/browse

Not sure if this could be caused by the ads, that are included sometimes between the songs :(


Components: -Internals Internals>Media
That's a good theory!

I'll try to get a repro later, but in the meantime, maybe someone from Media has an idea?
BTW - maybe also helpful: Same happens with Firefox. Can not try with Safari, because Safari isn't supported for the Spotify Web Player.
Cc: dalecur...@chromium.org
dalecurtis@, does the theory in #3 seem plausible to you? If so, would it be reasonable for us to give the power save assertion a grace period or something to account for adjacent sessions with a small gap between them?
Cc: olka@chromium.org mlamouri@chromium.org
The power saver should already have a grace period, https://cs.chromium.org/chromium/src/content/browser/media/audio_stream_monitor.h?l=92 shows it's 2 seconds.

So long as the tab is audible it should have the wake lock:
https://cs.chromium.org/chromium/src/content/browser/media/media_web_contents_observer.cc?l=86

This issue seems to be fixed now in Stable and Canary. Maybe from Spotify-side in its provided Web Player? 

lgrey@: Please feel free to close this report.

Thanks.
Status: Closed (was: Assigned)
Awesome, glad it worked out!

Sign in to add a comment