Open Bug 933730 Opened 11 years ago Updated 2 years ago

"ASSERTION: Appshell already destroyed?" due to making OfflineAudioContext in a dying Window

Categories

(Core :: Web Audio, defect, P3)

x86_64
macOS
defect

Tracking

()

People

(Reporter: jruderman, Assigned: karlt)

References

Details

(Keywords: assertion, memory-leak, testcase)

Attachments

(3 files)

Attached file testcase
1. Load the testcase
2. Click the button
3. Quit Firefox

Result: assertion during shutdown, and leak

###!!! ASSERTION: Appshell already destroyed?: 'Error', file content/media/MediaStreamGraph.cpp, line 1538
Attached file stack
Attached file leak info
Karl -- Can I give this bug to you?  I know I've been giving a lot to you in the last week; so if you need me to find someone else for this one, just let me know.  Thanks!
Assignee: nobody → karlt
Jesse, let me know if this or other bugs are blocking you, and I'll change priorities.
Priority: -- → P2
For this bug, I'm having my fuzzer ignore the assertion, and ignore leaks when the assertion occurs.  So I don't think it's blocking much.
See Also: → 969089
When nsCycleCollector_shutdown() is called, nsThreadManager has already
shutdown all nsThreads.  StartNonRealtimeProcessing() won't get the new
nsThread that it expects.

I wonder whether we can get DestroyNonRealtimeInstance to destroy the graph
without creating the thread, by starting the graph at
LIFECYCLE_WAITING_FOR_MAIN_THREAD_CLEANUP.

But it also sounds like AudioContext shutdown is happening too early.
I wonder whether that could be delayed until after we know there is no script running.
Rank: 29
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: