Open Bug 1861488 Opened 2 years ago Updated 2 years ago

Add crash reporting to the updater binary

Categories

(Toolkit :: Crash Reporting, enhancement)

enhancement

Tracking

()

People

(Reporter: bytesized, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fidedi-ope])

We occasionally see problems that seem like they could have potentially been caused by the updater binary crashing. These typically take the form of being unable to launch Firefox and instead seeing a message like this:

Error: Platform version ‘119.0’ is not compatible with minVersion >= 118.0.2 maxVersion <= 118.0.2

If we were able to receive crash reports when the updater crashes, we might gain more insight as to how this problem is happening.

Even as a first step, being able to do save a minidump somewhere where it can be retrieved later would give us some insight into some of the most impactful, potential pull-factor failures we have right now. (i.e. without Socorro upload support)

We've had a least 2 cases where we were able to interact with the user but with no idea where, or even if, the updater actually crashed.

FYI our best shot at intercepting updater crashes would be via Windows Error Reporting interception. This would be similar to what we did in bug 1682507 but would require a separate, simpler interceptor than the one we use for Firefox. This is what would need to happen roughly:

  • The interceptor is a stand-alone DLL that contains the logic to generate a minidump from the crashed process, generate the associated .extra file (which contains the crash metadata) and launch the crash reporter client
  • Tweak the installer to record the interceptor in Windows registry like we do for Firefox (presumably if we're running the updater stand-alone installation must have previously succeeded)
  • The updater would then need to register the interceptor on startup, this takes a handful of lines of code in C++
  • When the crash reporter client is launched by the interceptor it usually prompts the user to quit or restart the application, after submitting the crash. This is the only change that we'd have to do, as we cannot relaunch the updater, we should only leave the quit option, and maybe a dialog telling the user to download a fresh installer and try again
Whiteboard: [fidedi-ope]
You need to log in before you can comment on or make changes to this bug.