Closed
Bug 994708
Opened 11 years ago
Closed 10 years ago
Record in FHR the submission rate for plugin/content crashes
Categories
(Firefox Health Report Graveyard :: Client: Desktop, enhancement)
Firefox Health Report Graveyard
Client: Desktop
Tracking
(Not tracked)
VERIFIED
FIXED
Firefox 34
People
(Reporter: benjamin, Assigned: poiru)
References
Details
Attachments
(3 files, 1 obsolete file)
4.55 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
6.15 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
1.03 KB,
patch
|
gps
:
review+
|
Details | Diff | Splinter Review |
Once bug 983313 is finished, we will be recording plugin and content crashes/hangs in FHR. As a followup step we should also record the submission rate for those crashes.
This bug tracks only the subprocess crashes because they are submitted using a different mechanism than main-process crashes and hangs. Main-process crash submission rate is tracked in bug
Flags: firefox-backlog+
Reporter | ||
Comment 1•11 years ago
|
||
"in bug 994707"
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → birunthan
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•11 years ago
|
||
After reading through the code, it seems like CrashSubmit.jsm would be the place to implement this. This patch does some minor cleanups in preparation of future patches.
I will wait for the design of the crash submission events to be finalized in bug 994707 before attaching further patches here. However, here is my current thinking of how this will be stitched together:
- CrashSumbit.jsm will have methods to create submission events. When the submission succeeds or fails within CrashSumbit.jsm, we write an event.
- If the user never attempts to submit the report in the first place, browser-plugin.js will call the relevant method in CrashSubmit to create a failed submission.
Does this sound about right?
Attachment #8443515 -
Flags: review?(benjamin)
Reporter | ||
Comment 3•11 years ago
|
||
Yes, that sounds right.
Reporter | ||
Comment 4•11 years ago
|
||
Actually though, the last part isn't right. If the user never attempts to submit, we don't want to record anything. Failed submission is only for the case where the user chose to submit but it failed because of the network or something.
Assignee | ||
Updated•11 years ago
|
Attachment #8443515 -
Flags: review?(benjamin) → review?(gps)
Comment 5•11 years ago
|
||
Comment on attachment 8443515 [details] [diff] [review]
Part 1: Cleanup CrashSubmit.jsm
Review of attachment 8443515 [details] [diff] [review]:
-----------------------------------------------------------------
This looks good. I can't wait for CrashSubmit.jsm to be rewritten in terms of CrashManager.jsm APIs.
Attachment #8443515 -
Flags: review?(gps) → review+
Assignee | ||
Comment 6•11 years ago
|
||
Keywords: leave-open
Comment 7•11 years ago
|
||
Updated•11 years ago
|
Points: --- → 8
Whiteboard: [p=8] → [qa?]
Assignee | ||
Comment 8•11 years ago
|
||
This is based on top of the latest patches in bug 994707.
I made processType optional for CrashManager.submit as I was unsure if all uses of CrashManager.submit[0] should record a submission event. Should we handle of them?
[0]: http://mxr.mozilla.org/mozilla-central/search?string=CrashSubmit.submit
Attachment #8445582 -
Flags: feedback?(gps)
Comment 9•11 years ago
|
||
Comment on attachment 8445582 [details] [diff] [review]
Part 2: Record submission event for plugin crashes
Review of attachment 8445582 [details] [diff] [review]:
-----------------------------------------------------------------
I'm guessing we probably want to record submissions for everything we can. bsmedberg has a more clear version of the requirements/goals than I do.
::: toolkit/crashreporter/CrashSubmit.jsm
@@ +292,5 @@
> + let crashTime = new Date();
> + let manager = Services.crashmanager;
> + manager.addSubmission(self.processType, manager.CRASH_TYPE_CRASH,
> + success, success ? ret.CrashID : "",
> + crashTime);
Where's the code for addSubmission? I don't see it in the tree or this bug.
Do we care about recording submission attempts as opposed to successes? It seems weird that we record a failed submission and a completed submission the same way and furthermore the distinguishing manner is by presence of a crash ID.
Attachment #8445582 -
Flags: feedback?(gps) → feedback+
Assignee | ||
Comment 10•11 years ago
|
||
(In reply to Gregory Szorc [:gps] from comment #9)
> Comment on attachment 8445582 [details] [diff] [review]
> Part 2: Record submission event for plugin crashes
>
> Review of attachment 8445582 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> I'm guessing we probably want to record submissions for everything we can.
> bsmedberg has a more clear version of the requirements/goals than I do.
>
> ::: toolkit/crashreporter/CrashSubmit.jsm
> @@ +292,5 @@
> > + let crashTime = new Date();
> > + let manager = Services.crashmanager;
> > + manager.addSubmission(self.processType, manager.CRASH_TYPE_CRASH,
> > + success, success ? ret.CrashID : "",
> > + crashTime);
>
> Where's the code for addSubmission? I don't see it in the tree or this bug.
See part 2 of bug 994707.
> Do we care about recording submission attempts as opposed to successes? It
> seems weird that we record a failed submission and a completed submission
> the same way and furthermore the distinguishing manner is by presence of a
> crash ID.
The implementation of addSubmission in the bug above should clarify this.
Assignee | ||
Comment 11•11 years ago
|
||
This patch should be good to go. This iteration of the patch only contains cosmetic differences.
I will take care of updating other uses of CrashSubmit.submit in subsequent patches.
Attachment #8445582 -
Attachment is obsolete: true
Attachment #8451693 -
Flags: review?(gps)
Updated•11 years ago
|
Attachment #8451693 -
Flags: review?(gps) → review+
Assignee | ||
Comment 12•11 years ago
|
||
Comment 13•11 years ago
|
||
Assignee | ||
Comment 14•10 years ago
|
||
Attachment #8468903 -
Flags: review?(gps)
Updated•10 years ago
|
Attachment #8468903 -
Flags: review?(gps) → review+
Assignee | ||
Comment 15•10 years ago
|
||
Comment 16•10 years ago
|
||
Assignee | ||
Updated•10 years ago
|
Keywords: leave-open
Target Milestone: --- → Firefox 34
Assignee | ||
Updated•10 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Updated•10 years ago
|
Iteration: --- → 34.2
QA Whiteboard: [qa?]
Whiteboard: [qa?]
Updated•10 years ago
|
QA Whiteboard: [qa?] → [qa+]
Comment 17•10 years ago
|
||
Assigning to Kamil since he handled verification for bug 994707.
QA Contact: kamiljoz
Updated•10 years ago
|
Iteration: 34.2 → 34.3
QA Whiteboard: [qa+]
Flags: qe-verify+
Updated•10 years ago
|
Iteration: 34.3 → ---
Updated•10 years ago
|
Iteration: --- → 34.2
Comment 18•10 years ago
|
||
Is there a tool that can force plugin/content crashes in fx?? The tools below only trigger application crashes, example:
- "main-crash": 6,
- "main-crash-submission-succeeded": 5
- https://developer.mozilla.org/en-US/docs/How_to_Report_a_Hung_Firefox
- http://ted.mielczarek.org/mozilla/crashme.html
I believe there should be entries for plugins/content rather than all the crashes being listed under "main-crash" correct?
Flags: needinfo?(benjamin)
Reporter | ||
Comment 19•10 years ago
|
||
On a modern Firefox (33+) you should be able to use those tools for any process: SIGABRT the plugin/content processes on mac/linux, and use crashfirefox.exe with the PID of a plugin-container on windows.
Flags: needinfo?(benjamin)
Comment 20•10 years ago
|
||
Went through verification using the following m-c build:
- http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014-09-02-03-02-02-mozilla-central/
** Plugin Test Cases: **
Prerequisites:
- downloaded the latest flash for each OS (Win, OSX, Linux)
- used crashfirefox.exe on Win to crash plugin_container.exe
- used the SIGABRT method on Linux to crash plugin-container
- used the SIGABRT method on OSX to crash Nightly Plugin Content (Shockwave Flash)
- Updated FHR using: Cu.import("resource://gre/modules/CrashManager.jsm"); CrashManager.Singleton.runMaintenanceTasks();
Test Cases Used:
- ensure that "plugin-crash" is being incremented correctly
- ensured that "plugin-crash-submission-succeeded" incremented once the user selects "Submit a crash report"
- ensured that "plugin-crash-submission-succeeded" is not incremented if the user selects "Reload page"
- ensured that "plugin-crash-submission-succeeded" is not incremented if the user selects "X"
- ensured that "plugin-crash-submission-succeeded" is not incremented if the user selects "Learn more..."
- set "MOZ_CRASHREPORTER_URL=http://localhost:9999/invalid" and ensured "plugin-crash-submission-failed" was incremented when appropriate
- ensured that "plugin-crash-submission-succeeded" is not being incremented when "plugin-crash-submission-failed" is incremented
- ensured that the crashes are appearing under about:crashes
** Content Test Cases: **
Prerequisites:
- used crashfirefox.exe on Win to crash plugin_container.exe (e10s)
- used the SIGABRT method on Linux to Web Content (e10s)
- used the SIGABRT method on OSX to crash NightlyWeb Content (e10s)
- Updated FHR using: Cu.import("resource://gre/modules/CrashManager.jsm"); CrashManager.Singleton.runMaintenanceTasks();
Test Cases Used:
- ensure that "content-crash" is being incremented correctly
- ensured that "content-crash-submission-succeeded" incremented once the user selects "Submit a crash report"
- ensured that "content-crash-submission-succeeded" is not incremented if the user selects "Reload page"
- ensured that "content-crash-submission-succeeded" is not incremented if the user selects "X"
- ensured that "content-crash-submission-succeeded" is not incremented if the user selects "Learn more..."
- set "MOZ_CRASHREPORTER_URL=http://localhost:9999/invalid" and ensured "content-crash-submission-failed" was incremented when appropriate
- ensured that "content-crash-submission-succeeded" is not being incremented when "content-crash-submission-failed" is incremented
- ensured that selecting "Try Again" while "Tell Mozilla about this crash so they can fix it." is un-selected wouldn't increment "content-crash-submission-failed" and "content-crash-submission-succeeded"
- ensured that the crashes are appearing under about:crashes
Checked on the following OS's:
- Win 8.1 x64 (VM)
- Ubuntu 13.10 x64 (VM)
- OSX 10.9.4
Possible issues found:
Issue #1:
- plugins & content crashes are not creating submission files under "/crashes/events/" when crashes occur. However when an application crash occurs, submission files are created and than cleared (Bug # 994707). I just want to make sure that plugin and content crashes shouldn't be mirroring application crashes. If both plugin and content crashes should be creating files under "/crashes/events/" the same way application crashes do, then there's definitely a bug.
Issue #2:
- plugin & content "Crash report submitted successfully" timestamps are not being added into "submit.txt" under "/Mozilla/Firefox/Crash Reports"
- plugin & content "Crash report submission failed: The operation completed successfully." timestamps are not being added into "submit.txt" under "/Mozilla/Firefox/Crash Reports"
- despite not being added into "submit.txt", they're appearing under the "submitted" folder in "/Mozilla/Firefox/Crash Reports/submitted"
The issue is that submission timestamps are not being added into "submit.txt" for plugins/content crashes but the submissions are correctly appearing under "/Mozilla/Firefox/Crash Reports/submitted/"
Issues #3:
- "LastCrash" is only being updated when there's an application crash. It's not being updated when there's a plugin/content crash.
Issue #4:
- If "Tell Mozilla about this crash so they can fix it." is checked (enabled) when a e10s window/tab crashes, it won't be counted unless the user selected "Try Again", example:
A e10s crashes and the user has "Tell Mozilla about this crash so they can fix it." checked, but closes the window/tab and doesn't select "Try Again", the crash won't be counted. It only counts the crashes when the user selects "Try Again". I just want to double check and make sure this is the desired behaviour.
Should those crashes be counted when a user has "Tell Mozilla about this crash so they can fix it." checked and simply closes the tab/window/fx?
Issue #5:
- When you crash a "flash" plugin that's running under a e10s on Win, you won't receive a toolbar stating that there was a crash with flash. Neither "content" nor "plugin" are counted so there's no data to show that there was a crash. (from what I can see)
- On Linux/OSX, crashing the "flash" plugin that's running under a e10s will crash the e10s and count it as a "content" crash
Benjamin, mind taking a quick look at the possible issues?
Flags: needinfo?(benjamin)
Reporter | ||
Comment 21•10 years ago
|
||
> Issue #1:
>
> - plugins & content crashes are not creating submission files under
> "/crashes/events/" when crashes occur. However when an application crash
This is correct behavior. Submission files are only used when Firefox is not running.
> Issue #2:
>
> - plugin & content "Crash report submitted successfully" timestamps are not
> being added into "submit.txt" under "/Mozilla/Firefox/Crash Reports"
Also correct.
> Issues #3:
>
> - "LastCrash" is only being updated when there's an application crash. It's
> not being updated when there's a plugin/content crash.
Also correct.
> Issue #4:
> A e10s crashes and the user has "Tell Mozilla about this crash so they can
> fix it." checked, but closes the window/tab and doesn't select "Try Again",
> the crash won't be counted. It only counts the crashes when the user selects
> "Try Again". I just want to double check and make sure this is the desired
> behaviour.
Please file a bug on this. It's not a problem in this patch, but a UI issue in e10s that we should probably address.
> Issue #5:
>
> - When you crash a "flash" plugin that's running under a e10s on Win, you
> won't receive a toolbar stating that there was a crash with flash. Neither
> "content" nor "plugin" are counted so there's no data to show that there was
> a crash. (from what I can see)
> - On Linux/OSX, crashing the "flash" plugin that's running under a e10s will
> crash the e10s and count it as a "content" crash
Not issues with this patch, and should be fixed by bug 874016.
Flags: needinfo?(benjamin)
Comment 22•10 years ago
|
||
> Please file a bug on this. It's not a problem in this patch, but a UI issue
> in e10s that we should probably address.
Created Bug # 1062348
> Not issues with this patch, and should be fixed by bug 874016.
Checked Bug # 874016 and found several bugs that address the issues I've seen.
Thanks for going through the possible issues Benjamin, marking this as verified.
Status: RESOLVED → VERIFIED
Updated•6 years ago
|
Product: Firefox Health Report → Firefox Health Report Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•