Open Bug 1756973 Opened 2 years ago Updated 2 years ago

NativeAudioCallback threads are not unregistered with the profiler when they no longer exist

Categories

(Core :: Audio/Video: cubeb, defect, P3)

defect

Tracking

()

Tracking Status
firefox-esr91 --- wontfix
firefox97 --- wontfix
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- wontfix
firefox101 --- wontfix

People

(Reporter: florian, Unassigned)

References

(Depends on 1 open bug, Regression)

Details

(Keywords: regression)

I can reproduce this easily by going to youtube, playing and pausing a video multiple times.

Example profile: https://share.firefox.dev/3sgEcVm

We can see in the profile when the thread stops existing as the profiler fails to sample it when it no longer exists.

I tried putting a printf in https://searchfox.org/mozilla-central/rev/8efeb8af3abb331df65c424ea79bab073140f173/dom/media/AudioThreadRegistry.h#57 and never saw it appear in my terminal.

Severity: -- → S3
Priority: -- → P3
Regressed by: 1647717

Set release status flags based on info from the regressing bug 1647717

Has Regression Range: --- → yes

We'll "fix" this by using AudioIPC, most probably. There is no way to unregister a thread from a different thread, (is there, Gerald? I haven't found a way to do this?), so we can't really do this in the general case.

Set release status flags based on info from the regressing bug 1647717

Depends on: 1773286

Besides AudioStream, we have the same problem in GraphDriver and AudioInputSource as well.

You need to log in before you can comment on or make changes to this bug.