Open Bug 1010476 Opened 11 years ago Updated 2 years ago

CrashManager should record crashes that don't have dump IDs

Categories

(Toolkit :: Crash Reporting, defect, P3)

defect

Tracking

()

People

(Reporter: adw, Unassigned, Mentored)

References

Details

(Whiteboard: p=5 [lang=C++/JS][good next bug])

+++ This bug was initially created as a clone of Bug #983313 +++ Bug 983313 started reporting plugin and content crashes and hangs to CrashManager.jsm/CrashService.js. But CrashManager currently discards crashes and hangs that don't have dump IDs. It should record them, and FHR should collect them. (In reply to Benjamin Smedberg [:bsmedberg] from bug 983313 comment #5) > > > We should actually probably annotate a crash even if we weren't able to > > > collect a dump, by writing an empty dump ID to the crash service. > > > > It turns out CrashManager stores crash records in a Map keyed on crash > > IDs... given that, it didn't seem very useful to store records with empty > > IDs, so I didn't. It would probably not be too hard to store key > > collisions in a chain, so I could do that if you'd like. > > ok. We do want it long-term, but I guess we want to add something to the FHR > dataformat itself. Could you please file this as a followup?
Flags: firefox-backlog?
While we *could* just bucket these into plugin-crash, it would be helpful in terms of data analysis separate them out, so I think we should add them to separate buckets content-crash-nodump and plugin-crash-nodump. The current call-stack that adds a crash to the crash service goes: PluginModuleParent::ActorDestroy ->PluginModuleParent::ProcessFirstMinidump ->CrashReporterParent::GenerateCrashReportForMinidump ->CrashReporterParent::GenerateChildData ->CrashReporterParent::NotifyCrashService Or for content: ContentParent::ActorDestroy ->CrashReporterParent::GenerateCrashReport ->CrashReporterParent::GenerateChildData ... So for plugins we skip the GenerateCrashReportForMinidump call here: http://hg.mozilla.org/mozilla-central/annotate/e4843f4f08a7/dom/plugins/ipc/PluginModuleParent.cpp#l717 And for content we fail the check here: http://hg.mozilla.org/mozilla-central/annotate/e4843f4f08a7/dom/ipc/CrashReporterParent.h#l136 So that codepath will need to be cleaned up. And in the crash manager itself, we'll need to deal with the ID-keyed logic starting here: http://hg.mozilla.org/mozilla-central/annotate/e4843f4f08a7/toolkit/components/crashes/CrashManager.jsm#l883 We could keep an array of "noDumpCrashes" separate from the current "crashes" map here: http://hg.mozilla.org/mozilla-central/annotate/e4843f4f08a7/toolkit/components/crashes/CrashManager.jsm#l626
Flags: firefox-backlog? → firefox-backlog+
Whiteboard: p=5 [mentor=benjamin@smedbergs.us][lang=C++/JS][good next bug]
Summary: CrashManager should record crashes and hangs that don't have dump IDs → CrashManager should record crashes that don't have dump IDs
Mentor: benjamin
Whiteboard: p=5 [mentor=benjamin@smedbergs.us][lang=C++/JS][good next bug] → p=5 [lang=C++/JS][good next bug]
Hello, Can I work on this bug?
Sure. This is not going to be an easy bug, because there are lots of codepaths involved. But it could be valuable for ongoing crash efforts. I think that gsvelto would be a better mentor than I would now, given that he's touched and modified this code more recently.
Mentor: benjamin → gsvelto
Priority: -- → P3
Hey there, Just wanted to know if this issue is still open / mentored ? Maybe I could give it a try if it's still useful :)
Gabriele, is this still a valid bug? I think we ended up taking slightly different routes with crash telemetry :)
Flags: needinfo?(gsvelto)
I believe it is a valid bug and since I've fiddled with those code paths I wonder if I might have messed up things even more. There are places in the code where we consider not having a dump ID to be an error. I'd have to look to tell you more about this.
Flags: needinfo?(gsvelto)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.