Closed Bug 1586315 Opened 5 years ago Closed 5 years ago

LSNG: Finish RequestHelper when LSRequestChild actor is unexpectedly destroyed

Categories

(Core :: Storage: localStorage & sessionStorage, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox70 --- fixed
firefox71 --- fixed

People

(Reporter: janv, Assigned: janv)

References

(Blocks 1 open bug)

Details

Crash Data

Attachments

(1 file)

No description provided.

If LSRequestChild actor is unexpectedly destroyed, the nested event loop runs
until the timer fires. This patch improves that by calling the callback in
LSRequestChild::ActorDestroyed which immediatelly finishes RequestHelper and
finishes the nested event loop in the end too.

The current empty ActorDestroy impl can cause a shutdown hang in theory, but I'm not sure about that.
Anyway, it's better to fix it.

Pushed by jvarga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/88bfb2e60180
LSNG: Finish RequestHelper when LSRequestChild actor is unexpectedly destroyed; r=asuth
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71

Comment on attachment 9098866 [details]
Bug 1586315 - LSNG: Finish RequestHelper when LSRequestChild actor is unexpectedly destroyed; r=asuth

Beta/Release Uplift Approval Request

  • User impact if declined: This patch may help with reducing shutdown hangs. Even if doesn't reduce shutdown hangs, it improves correctness when IPC is unexpectedly disconnected.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Relatively simple patch, landed 2 days ago on Nightly, no regressions so far.
  • String changes made/needed: None
Attachment #9098866 - Flags: approval-mozilla-beta?

Comment on attachment 9098866 [details]
Bug 1586315 - LSNG: Finish RequestHelper when LSRequestChild actor is unexpectedly destroyed; r=asuth

Reducing shutdown hangs sounds promising. Maybe just a bit scary.
Let's uplift for beta 14.

Attachment #9098866 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Crash Signature: [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke]
You need to log in before you can comment on or make changes to this bug.