Assertion failure: !mProcess in GMPParent::~GMPParent during shutdown
Categories
(Core :: Audio/Video: GMP, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox136 | --- | fixed |
People
(Reporter: pehrsons, Assigned: pehrsons)
References
Details
Attachments
(6 files)
My STR was to send a high-res screen capture over WebRTC using OpenH264, then observe the encoder latency going up and shut down Firefox when the encoder latency is >1s. Intermittently it would trip this assertion.
Assignee | ||
Comment 1•8 months ago
|
||
I'll note I reproduced this with only the fix for bug 1937731 applied, as well as with the fixes for both bug 1937731 and bug 1936275 applied. The attached log was captured with both bugs applied.
Assignee | ||
Updated•8 months ago
|
Assignee | ||
Comment 2•8 months ago
|
||
I see this comment "Normal Shutdown() will delete the process on unwind", but fail to see how that could work with the dtor assert, or what exactly is meant by "unwind".
Assignee | ||
Comment 3•7 months ago
|
||
It only partially wallpapered over a problem.
Subsequent commits will fix it better.
Updated•7 months ago
|
Assignee | ||
Comment 4•7 months ago
|
||
Assignee | ||
Comment 5•7 months ago
|
||
Assignee | ||
Comment 6•7 months ago
|
||
Assignee | ||
Comment 7•7 months ago
|
||
There is a shutdown race that can happen in GMPParent.
On ActorDestroy(NormalShutdown), if the GMP process is backlogged with work, it
may not yet have shut down. At the same time, ActorDestroy(NormalShutdown)
happens after xpcom-shutdown-threads, which has made sure to shut down the GMP
event target in GMPService. The graceful shutdown of the GMP process requires
dispatching tasks to the GMP event target (see GMPParent::DeleteProcess), which,
if the target has been shut down, will result in the GMP process leaking because
the SendShutdown Then handler could not be dispatched. If it even gets that far.
Backed out for causing build bustages @ GMPParent.cpp
- Backout link
- Push with failures
- Failure Log
- Failure line:
/builds/worker/checkouts/gecko/dom/media/gmp/GMPParent.cpp:63:17: error: format '%u' expects argument of type 'unsigned int', but argument 8 has type 'mozilla::gmp::GMPState' [-Werror=format=]
Updated•7 months ago
|
Assignee | ||
Updated•7 months ago
|
Comment 10•7 months ago
|
||
Comment 11•7 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a798ca03e4bd
https://hg.mozilla.org/mozilla-central/rev/c96513264f3d
https://hg.mozilla.org/mozilla-central/rev/fbd159562f11
https://hg.mozilla.org/mozilla-central/rev/cb89d984064e
https://hg.mozilla.org/mozilla-central/rev/ade69911a87b
Description
•