Closed Bug 1587931 Opened 10 months ago Closed 10 months ago

LSNG: Force kill database actors during shutdown

Categories

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

task

Tracking

()

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

People

(Reporter: janv, Assigned: janv)

References

(Blocks 1 open bug)

Details

Crash Data

Attachments

(1 file, 1 obsolete file)

This is an attempt to fix remaining LSNG shutdown hangs.

Database actors are force killed after 5 seconds if the child side doesn't
respond to the RequestAllowToClose message during shutdown.

Pushed by jvarga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/93c355e248bb
LSNG: Force kill database actors during shutdown; r=asuth
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Crash Signature: [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke ]
Crash Signature: [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke ] → [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::`an…
Crash Signature: [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::`an… → [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke]

Comment on attachment 9100290 [details]
Bug 1587931 - LSNG: Force kill database actors during shutdown; r=asuth

Beta/Release Uplift Approval Request

  • User impact if declined: Users experience more shutdown hangs
  • 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: Medium
  • Why is the change risky/not risky? (and alternatives if risky): Medium risk given we are very close to 70 release. The patch is quite simple though and Nightly shows significant reduction of shutdown hangs.
  • String changes made/needed: None
Attachment #9100290 - Flags: approval-mozilla-release?

Just to be clear, the patch would be intended for Firefox 70 uplift.

Database actors are force killed after 5 seconds if the child side doesn't
respond to the RequestAllowToClose message during shutdown.

The last attachment is for potential 70 branch uplift.

Comment on attachment 9100827 [details]
Bug 1587931 - LSNG: Force kill database actors during shutdown; r=asuth

Beta/Release Uplift Approval Request

  • User impact if declined: Users experience more shutdown hangs
  • 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: Medium
  • Why is the change risky/not risky? (and alternatives if risky): Medium risk given we are very close to 70 release. The patch is quite simple though and Nightly shows significant reduction of shutdown hangs.
  • String changes made/needed: None
Attachment #9100827 - Flags: approval-mozilla-release?
Attachment #9100290 - Flags: approval-mozilla-release?
Crash Signature: [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke] → [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::(anonymous namespace)::QuotaClient::ShutdownWorkThreads::$_15::__invoke] [@ mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownTimedOut] [@ mozilla::dom::`an…

This fix significantly reduced LocalStorage shutdown hangs.

Comment on attachment 9100827 [details]
Bug 1587931 - LSNG: Force kill database actors during shutdown; r=asuth

Getting rid of some of those crashes would be great, let's take this gamble.

Attachment #9100827 - Flags: approval-mozilla-release? → approval-mozilla-release+
Regressions: 1592336
No longer regressions: 1592336
Crash Signature: mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke] → mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::__invoke] [@ static void mozilla::dom::`anonymous namespace'::QuotaClient::ShutdownWorkThreads::<T>::operator()::<T>::__invoke]

This didn't regress bug 1592336, it actually reduced shutdown hangs.

Attachment #9100827 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.