Closed Bug 711393 Opened 9 years ago Closed 7 months ago

Add crash reporting for updater and maintenance service

Categories

(Toolkit :: Application Update, defect, P3)

x86_64
Windows 7
defect

Tracking

()

RESOLVED INACTIVE

People

(Reporter: bbondy, Unassigned)

References

Details

This task is to investigate and implement the best way to add crash reporting to updater and maintenance service which we currently have no info about crash reports on.
I think this should be split into two bugs, one for the updater, and one for the maintenance service.  Adding crash reporting to the former should be realtively easy.  No idea about the latter.
Why would it be easier for updater? Please include any ideas you have on how to accomplish it. I've used crashrpt in my previous products in another life but I think we want to stick with the same crash reporting we have in some way (Breakpad).
I was thinking whatever solution is done could be done in updatercommon.cpp which is used by both maintenance service and updater hence why one bug.
toolkit\mozapps\update\common\updatehelper.cpp
(In reply to Brian R. Bondy [:bbondy] from comment #2)
> Why would it be easier for updater?

Because it does not run under system privileges.

> Please include any ideas you have on how
> to accomplish it. I've used crashrpt in my previous products in another life
> but I think we want to stick with the same crash reporting we have in some
> way (Breakpad).

Yes, we want to use Breakpad.  Ted should know things about how to integrate Breakpad.
> > Why would it be easier for updater?

> Because it does not run under system privileges.

If the service is installed so does the updater.
At its core, you enable Breakpad by including the right header files, and instantiating a google_breakpad::ExceptionHandler with the right parameters. You get a callback if the application crashes (after Breakpad has written a minidump). In the callback we use for Firefox, we write out some metadata and launch the crash reporter client:
http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/nsExceptionHandler.cpp#333

Our integration is a bit complex, you can definitely do it in a simpler fashion.
There are some decent docs on the Breakpad wiki if you want to get a bit of an overview:
http://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad
We won't be able to show the breakpad UI but I'd like to at least dump them in the user's data directory at least for now as step 1.
Thanks for the info and fast response Ted.
Blocks: 725568
Assignee: netzen → nobody
Status: NEW → RESOLVED
Closed: 7 months ago
Priority: -- → P3
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.