Closed Bug 1387369 Opened 7 years ago Closed 6 years ago

Crash in AsyncShutdownTimeout | profile-before-change | Crash Reporter: blocking on minidumpgeneration.

Categories

(Toolkit :: Crash Reporting, defect)

56 Branch
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- wontfix
firefox55 --- unaffected
firefox56 --- wontfix
firefox57 --- wontfix
firefox60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox63 --- fixed
firefox64 --- fixed
firefox65 --- fixed

People

(Reporter: philipp, Unassigned)

References

Details

(Keywords: crash, regression, topcrash)

Crash Data

This bug was filed from the Socorro interface and is 
report bp-b7ab3852-ca97-41da-a4e7-5d0ca0170804.
=============================================================
AsyncShutdownTimeout 	
{"phase":"profile-before-change","conditions":[{"name":"Crash Reporter: blocking on minidumpgeneration.","state":"(none)","filename":"z:/build/build/src/ipc/glue/CrashReporterHost.cpp","lineNumber":192,"stack":"Minidump generation"}]}

this async shutdown timeout crash was introduced with bug 1360308. 
it is in the top 5 browser crashes of 57.0a1 in its first few days.
Looks like minidump generation can be so slow as to cause shutdown timeout. This is probably what happened:

* A child process hangs.
* The parent process detects that and generates a minidump for that.
* The user closes the browser, but we block shutdown during the generation of minidumps.
* Shutdown timeout crash.

I am not sure whether we can cleanly unblock the above scenario. If we don't block shutdown on minidump generation, we can still block in shutting down the thread for async dump generation: https://dxr.mozilla.org/mozilla-central/rev/52285ea5e54c73d3ed824544cef2ee3f195f05e6/toolkit/crashreporter/nsExceptionHandler.cpp#3568

Or we just don't shut down the thread when we have pending operation on it during process shutdown and let the thread leak, but it doesn't sound good that we let the thread continue writing the minidump while we exit the main thread.
shutdown timeout auto generated crash.
Pre async crashes were in bug 1182927.
Increased volume likely down to a shorter timeout.
Top Crasher:
#10 in Release.
#40 in Beta.
#83 in Nightly.

Top Crashers for Firefox 60.0
Top 50 Crashing Signatures. 7 days ago	
	
10 	1.03% 	0.97% 	AsyncShutdownTimeout | profile-before-change | Crash Reporter: blocking on minidumpgeneration.	432 	123 	1 	2 	247 	0 	2017-06-24

Top Crashers for Firefox 61.0b
Top 50 Crashing Signatures. 7 days ago

40 	0.27% 	-0.17% 	AsyncShutdownTimeout | profile-before-change | Crash Reporter: blocking on minidumpgeneration.	78 	75 	0 	0 	75 	0 	2017-06-24

Top Crashers for Firefox 62.0a1
Top 300 Crashing Signatures. 7 days ago

83 	0.15% 	0.04% 	AsyncShutdownTimeout | profile-before-change | Crash Reporter: blocking on minidumpgeneration.	6 	4 	0 	0 	3 	0 	2017-06-24
Lots of comments about using firejail on linux.
(In reply to Mike Taylor [:miketaylr] (62 Regression Engineering Owner) from comment #5)
> Lots of comments about using firejail on linux.

Interesting, I wonder if that's related to bug 1461848.
Bug 1461848 seems to cause minidump generation to fail immediately, but firejail is different from the Snap sandbox.  I've just tried using firejail (from the package in Debian unstable) with a mozilla-central build, and it seems to work, but of course there are a lot of other variables here.

The comments that indicate not being able to start any content processes are worrying (and they seem to all be on Linux?), but there isn't much information in those metadata-only crash reports.
No crashes since 63 shipped, the remaining crashes we still have are people on ESR. Adjusting flags accordingly.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Was this bug fixed by changes implemented in Bug 1463048?
You need to log in before you can comment on or make changes to this bug.