Closed
Bug 1358454
Opened 8 years ago
Closed 8 years ago
NoDisplaySleepAssertion
Categories
(Core :: Audio/Video: Playback, defect, P1)
Tracking
()
RESOLVED
DUPLICATE
of bug 1373888
People
(Reporter: scott, Unassigned)
References
Details
(Keywords: steps-wanted)
Firefox often indefinitely prevents MacOS display sleep, setting one or more NoDisplaySleepAssertion power assertions, which are left active even after closing all tabs and windows.
I *think* this occurs after watching a video of some sort, for example via YouTube.
* MacOS Sierra 10.12.4
* Firefox 54.0a2 (2017-04-20) (64-bit)
Sample output of pmset -g assertions when this occurs:
> Assertion status system-wide:
> BackgroundTask 0
> ApplePushServiceTask 0
> UserIsActive 1
> PreventUserIdleDisplaySleep 1
> PreventSystemSleep 0
> ExternalMedia 0
> PreventUserIdleSystemSleep 0
> NetworkClientActive 0
> Listed by owning process:
> pid 525(firefox): [0x00002c95000583f7] 03:10:57 NoDisplaySleepAssertion named: "screen"
> pid 525(firefox): [0x00002c85000583e9] 03:11:13 NoDisplaySleepAssertion named: "screen"
> pid 102(hidd): [0x0000591b00098634] 00:00:59 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968192.11"
> Timeout will fire in 598 secs Action=TimeoutActionRelease
> No kernel assertions.
> Idle sleep preventers: IODisplayWrangler
Comment 1•8 years ago
|
||
Markus, do you know more about this and where to redirect this for more detailed diagnosis / a fix? (Moving to core as it seems unlikely, at face value, that this is a frontend bug)
Component: General → Untriaged
Flags: needinfo?(mstange)
Product: Firefox → Core
Comment 2•8 years ago
|
||
We have a WakeLock infrastructure, and one of the callers is here: http://searchfox.org/mozilla-central/rev/baf47b352e873d4516d7656186d6d7c7447d3873/dom/html/HTMLVideoElement.cpp#315
With good steps to reproduce this should be relatively easy to debug.
Updated•8 years ago
|
Component: Audio/Video → Audio/Video: Playback
| Reporter | ||
Comment 3•8 years ago
|
||
I've been unable to replicate this since logging. Will close for now, and reopen if I ever figure out steps to replicate.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
| Reporter | ||
Comment 4•8 years ago
|
||
Sorry - I'm reopening this as it happened to me again last night. I still don't have steps to reproduce, but I'm now thinking this has something to do with Netflix (presumably therefore the Widevine plugin or container).
I'll try and get some useful data on this one over the weekend.
Status: RESOLVED → UNCONFIRMED
Ever confirmed: false
Flags: needinfo?(scott)
Resolution: WORKSFORME → ---
It should stop the display going to sleep when playing videos in Full Screen.
Flags: needinfo?(cpearce)
| Reporter | ||
Comment 6•8 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #5)
> It should stop the display going to sleep when playing videos in Full Screen.
Correct. The issue I was having was that even after closing all Firefox windows, the NoDisplaySleepAssertion was not cleared. Annoyingly, I've not been able to replicate this since reporting the issue.
Comment 7•8 years ago
|
||
I thought I'd seen this as well, and I also thought it was related to video playback too, but I was unable to figure out reliable STR.
Maybe plugging/unplugging headphones would help reproduce the bug occur?
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #5)
> It should stop the display going to sleep when playing videos in Full Screen.
We stop the screen saver kicking in whenever a visible video is playing.
Flags: needinfo?(cpearce)
| Reporter | ||
Comment 8•8 years ago
|
||
I've been unable to replicate this.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago → 8 years ago
Flags: needinfo?(scott)
Resolution: --- → INVALID
| Reporter | ||
Comment 9•8 years ago
|
||
Happened yesterday with Developer Edition 55.0b13, and again after a Netflix session.
Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---
Comment 10•8 years ago
|
||
I am also having this issue. Firefox fails to release multiple instances of NoDisplaySleepAssertion. I have FF configured to run 4 threads. The pid for each of the threads currently has 10 assertions, in addition to 10 for the parent Firefox process (yes, 50 assertions).
I'll report back if I'm able to nail down the exact cause. It's happening today and YouTube is the only video I've played. Relaunching Firefox obviously releases the assertions.
Anecdotally, I think it's related to either:
1. full screen playback
2. multiple monitors
3. extracting the tab of an actively playing video to a new window.
I'm on an iMac with attached thunderbolt display, and commonly drag a YouTube tab out into its own window, then move it over to the secondary display. Maybe the assertion is "abandoned" when the tab switches to a new thread/pool?
Firefox 54.0.1 macOS 10.12.6
Comment 11•8 years ago
|
||
Update: I'm able to reproduce the problem without moving tabs between monitors or toggling full screen playback.
It looks like "zombie" NoDisplaySleepAssertions are created when multiple streaming video tabs are played simultaneously. If only one video is played at a time, assertions are created and released as they should be.
Steps to reproduce:
I monitored assertions on a loop:
$ while true ; do clear ; pmset -g assertions ; sleep 2 ; done
Open a new window and begin playback of a streaming video (YouTube will work). Open a second tab and begin playback of another video. Switch between the two tabs. Each time one of the tabs playing video becomes active, new assertions are immediately be created and never released.
Tested on multiple streaming video sources - YouTube, Netflix, Facebook.
Updated•8 years ago
|
Priority: -- → P1
Comment 13•8 years ago
|
||
I'll solve this issue in bug1373888.
See the reproduce steps and the analysis on bug1373888 comment32.
Status: UNCONFIRMED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•