AudioContextOperation promises can be left hanging
Categories
(Core :: WebRTC: Audio/Video, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: pehrsons, Assigned: pehrsons)
References
Details
Attachments
(2 files)
If we take this path we might never complete a "Resume" AudioContextOperation promise, yet we have an invariant that they all are handled.
This is because the invariant stems from when AudioContextOperations were landed in bug 1094764, whereas the conditional path was added as a crash fix later in bug 1277037, and the dtor assert was missed.
In bug 1586370 I'm moving the promise handling to MozPromise, and this makes the situation worse because they can't be left hanging, even in non-debug (it's a diagnostic assert really). This is good because it highlights a real issue -- the conditional path from bug 1277037.
I think this conditional path can be removed. With bug 1586370 even if the audio stream failed to start, we'll be running the audio driver through a fallback, so in that sense the AudioContext is running, like the application asked for. The user won't hear anything but that's because of some audio related issue, which if fixed will resolve itself when the fallback driver later starts the audio stream.
Assignee | ||
Comment 1•4 years ago
|
||
Depends on D56086
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D57695
Assignee | ||
Comment 3•4 years ago
|
||
Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/7dbe17b0a53a Add crashtest. r=padenot https://hg.mozilla.org/integration/autoland/rev/0f904ae3e006 Don't leave AudioContextOperation::Resume hanging. r=padenot
Comment 5•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/7dbe17b0a53a
https://hg.mozilla.org/mozilla-central/rev/0f904ae3e006
Description
•