Open Bug 705888 Opened 13 years ago Updated 2 years ago

Submit hang reports without crashing the browser

Categories

(Toolkit :: Crash Reporting, defect)

defect

Tracking

()

People

(Reporter: joe, Unassigned)

References

Details

It's suboptimal that submitting hang reports requires crashing the browser. It'd be better if hang reports popped up a dialog in front of the user saying "We've detected that Firefox may have stopped responding. Do you want to restart it or wait?" Simultaneously, we'll submit the hang report. And if the browser starts responding, we can dismiss the dialog.

This would make it possible for users to continue using Firefox while we're fixing our hangs.
Would this (automatic submission) be based on the telemetry preference or something else?
Presenting UI while the main thread is hung is hard. We'd probably have to launch a separate process to do it.
(In reply to James May [:fowl] from comment #1)
> Would this (automatic submission) be based on the telemetry preference or
> something else?

Good point. The submission might need to be based on a checkbox on the dialog.

(In reply to Ted Mielczarek [:ted, :luser] from comment #2)
> Presenting UI while the main thread is hung is hard. We'd probably have to
> launch a separate process to do it.

Yeah, I figured it'd be a separate thread or process. (waves hands) Implementation detail.
(In reply to Joe Drew (:JOEDREW!) from comment #3)
> Good point. The submission might need to be based on a checkbox on the
> dialog.

Ugh. Also, what happens when Firefox starts responding again, what if for a particular bug it's always at (say) 31 seconds, no reports unless you can click very fast?

(In reply to Ted Mielczarek [:ted, :luser] from comment #2)
> Presenting UI while the main thread is hung is hard. We'd probably have to
> launch a separate process to do it.

Dependent on OOP crash reporting?  (bug 587729)
(In reply to James May [:fowl] from comment #4)
> Dependent on OOP crash reporting?  (bug 587729)

No, we can already write a dump (it's what we're currently doing), we just don't have anywhere to show it. We probably can't just use a separate thread, since the UI thread is already non-responsive (so spawning UI might not work anyway), and most UI toolkits don't like you using UI on multiple threads at once anyway.
Not Apple-specific.

->All/All
OS: Mac OS X → All
Hardware: x86 → All
Bug 712109 does something like this, but only for builds on the "profiling" branch and only for transient hangs (those from which Firefox eventually recovers).

http://blog.mozilla.com/vdjeric/2012/03/21/introducing-chrome-hang-reporting-and-the-symbolication-server/

For users who want to report unrecoverable hangs, the workaround for this bug is to set hangmonitor.timeout to 10 temporarily. (See bug 705748.)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.