Open Bug 1141888 Opened 8 years ago Updated 5 years ago
Async Shutdown doesn't really stop GMPChild from sending Async Shutdown Complete
Call flow: 1. KillPlugins calls GMPParent::AbortAsyncShutdown().  2. |mAsyncShutdownRequired| is reset 3. GMPParent::RecvAsyncShutdownComplete is called to hit the assertion at  for |mAsyncShutdownRequired| is false. This is because GMPParent::AbortAsyncShutdown doesn't do anything to stop GMPChild from sending AsyncShutdownComplete and there is no reliable way to do this for GMPChild runs on its own thread in another process.  https://hg.mozilla.org/mozilla-central/file/6686aacf006f/dom/media/gmp/GMPService.cpp#l1252  https://hg.mozilla.org/mozilla-central/file/6686aacf006f/dom/media/gmp/GMPParent.cpp#l1029
KillPlugins is used by ForgetThisSite and ClearHistory. I think it should wait for AsyncShutdownComplete before clearing the storage data as GMPParent::AbortAsyncShutdown is racing with GMPChild and there is no reliable way to abort async shutdown in the child.
Component: Audio/Video: MediaStreamGraph → Audio/Video: GMP
Mass change P2->P3 to align with new Mozilla triage process.
Priority: P2 → P3
You need to log in before you can comment on or make changes to this bug.