Closed
Bug 508909
Opened 15 years ago
Closed 15 years ago
add hang detection to complement crash reporting - both metrics and detection
Categories
(Toolkit :: Crash Reporting, defect)
Toolkit
Crash Reporting
Tracking
()
RESOLVED
DUPLICATE
of bug 429592
People
(Reporter: blizzard, Unassigned)
Details
Recent reports from metrics show that we're getting a lot of users frustrated with hangs and confusion around stuck firefox processes. Second, hangs aren't tracked like we track crashes because we don't have the ability to track them. We can catch a clear crash signal but we don't have the ability to tell when Firefox isn't responding to user input.
So in this bug I suggest that we figure out how we can do that. Either through a separate watchdog or something else for each platform. If that watchdog process detects a hang (or, really, a very unresponsive app) it can share that data with us as if it were a crash.
Along with that we should be ready to capture, measure and mine the data that we receive.
Along with this we should be thinking about if we might have a way to handle the firefox failed to shut down and left a stuck process hanging around problem. (I personally see that a _lot_ on windows with 3.5.)
Comment 1•15 years ago
|
||
If you're seeing it a lot, can you use the symbol server and windbg to get a stack trace for the stuck process? That would help a ton in figuring out what's causing the problem.
Some enterprising developer might even be able to create an external app that you could run, that would force firefox to crash in a way that the crash reporter picks up, as an easy-to-use interim step before we get real hang detection.
Comment 3•15 years ago
|
||
http://www.codeguru.com/Cpp/W-P/dll/article.php/c105 would probably let said enterprising developer inject a tiny DLL on a new thread that triggered the breakpad dump and submission without crashing, and then tear down the thread!
Comment 4•15 years ago
|
||
Just FYI, currently the code that is called after the minidump is written launches the crash reporter and exits the app, so you can't submit without taking the app down. Then again, if your app is hung, it might not matter. It should be trivial to use a similar technique to inject a thread that then crashes, which would get us a stack for all threads. The only downside is that the crash signature will be inside the injected thread, and not whatever thread is hung.
(In reply to comment #4)
> The only downside is that
> the crash signature will be inside the injected thread, and not whatever thread
> is hung.
That actually might be an upside -- it'll give us an easy way to search for "hung" crash reports vs. normal crashes, until we have some way of differentiating them at submit time.
Comment 6•15 years ago
|
||
Dup of bug 429592?
Comment 7•15 years ago
|
||
Yeah, I think so.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•