Commit Graph

31 Commits

Author SHA1 Message Date
Shu-yu Guo
37989840cd Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Benjamin Smedberg
553b8282f9 Bug 1199662 - Crash ping environment block is broken when any string field contains a quotation mark. Unescape INI fields properly using the library that already exists for the purpose. r=ted 2015-08-28 12:53:43 -04:00
Benjamin Smedberg
2d706e98b8 Bug 1121013 part C - report a new crash ping type on main-process crashes, and record submission rate/failure information in telemetry. Plugin/content crashes are already recorded via SUBPROCESS_ABNORMAL_ABORT and SUBPROCESS_CRASHES_WITH_DUMP and this patch leaves that unchanged. r=gfritzsche 2015-03-30 17:48:11 -04:00
David Major
0bb08704f6 Bug 1135543 - Part 3: Create events file format crash.main.2 which contains metadata; r=bsmedberg 2015-03-14 18:54:36 +13:00
David Major
1ec1349cf9 Bug 1135543 - Part 2 (no part 1): Add a |metadata| parameter to CrashManager.addCrash(); r=bsmedberg 2015-03-14 18:54:06 +13:00
Birunthan Mohanathas
ef70953489 Bug 1024672 - Part 6: Allow storing multiple crash classifications. r=bsmedberg 2014-10-16 16:14:16 +03:00
Andrew Halberstadt
11b824f09b Bug 1066735 - Remove root b2g and android specific xpcshell manifests, r=chmanchester 2014-10-07 18:18:28 -04:00
Shu-yu Guo
40c62f33a5 Bug 1001090 - Part 5: Fix errors in tests throughout the tree. (r=robcee,gavin) 2014-09-15 16:30:47 -07:00
Birunthan Mohanathas
070340cba4 Bug 1059390 - Part 5: Add and use CrashManager.generateSubmissionID(). r=gps 2014-09-02 10:02:40 -07:00
Birunthan Mohanathas
00064d37c8 Bug 1024672 - Part 5: Allow classifications to be stored in crash metadata. r=gps 2014-09-02 09:55:16 -07:00
Birunthan Mohanathas
e0284767de Bug 1059940 - Part 1: Expose CrashStore.reset() to clear all data. r=bsmedberg 2014-08-29 13:39:01 -07:00
Birunthan Mohanathas
4967a0296d Bug 1059390 - Part 4: Fix crash submission event file handling and add test. r=bsmedberg
This also changes things to use a "sub-" prefix for the generated submission ID
in order to distinguish it from a local/remote crash ID.
2014-08-29 13:38:53 -07:00
Birunthan Mohanathas
f6f91c7969 Bug 1059390 - Part 1: Allow remote Breakpad ID to be stored in crash metadata. r=gps 2014-08-28 21:03:02 -07:00
Birunthan Mohanathas
4ded33c6dd Bug 1024672 - Part 3: Remove CrashManager.addSubmission in favor of CrashManager.addSubmission{Attempt,Result}. r=gps 2014-08-21 15:43:50 -07:00
Birunthan Mohanathas
69fdcaf3e0 Bug 1024672 - Part 2: Convert submission details stored in separate crash records to crash metadata. r=gps 2014-08-21 15:43:46 -07:00
Birunthan Mohanathas
b0a8bba099 Bug 1024672 - Part 1: Allow submission details to be stored in crash metadata. r=gps 2014-08-21 15:43:42 -07:00
Drew Willcoxon
0276cab04a Bug 1009765 - Add GMP plugin crashes to FHR crash reporting (part 2: FHR, toolkit/components/crashes). r=gps 2014-08-08 15:41:07 -07:00
Birunthan Mohanathas
b47e48cd5d Bug 1049257 - Fix typo in CrashManager.addCrash() in order to update the crash date of existing items. r=gps 2014-08-07 21:52:05 -07:00
Gregory Szorc
01f2b41ccb Bug 1045421 - Remove date time bomb from test_crash_manager.js, add logging; r=gfritzsche
There was a hard-coded date in test_crash_manager.js of around August 3,
2013. This meant that about a year later we would start to run into
boundary issues since we weren't wrapping Date.now() inside
CrashManager.jsm.

It turns out the actual value of DUMMY_DATE doesn't really matter. So,
the test has been changed to produce a value that is reasonably modern.

While I was debugging this, I noticed we're not getting logging in the
tests. So I added that.
2014-07-29 09:47:59 -07:00
Wes Kocher
dc80025753 Bug 1045419 - Disable test_crash_manager.js for failures on a CLOSED TREE r=me 2014-07-28 20:14:19 -07:00
Steven MacLeod
24a63a5408 Bug 994707 - Introduce crash submission events and handle them. r=bsmedberg
This introduces a new crash event type for submissions and handles
them in the Crash Manager. These crash submissions will also be counted
in FHR.
2014-07-03 14:04:28 -04:00
Wes Kocher
945f586984 Backed out 3 changesets (bug 994707) for Valgrind and XPCShell bustage on a CLOSED TREE
Backed out changeset 76555f34c210 (bug 994707)
Backed out changeset 3dd92fb7c846 (bug 994707)
Backed out changeset 802779efce2b (bug 994707)
2014-07-01 11:04:30 -07:00
Steven MacLeod
eb0d005871 Bug 994707 - Introduce crash submission events and handle them. r=bsmedberg
This introduces a new crash event type for submissions and handles
them in the Crash Manager. These crash submissions will also be counted
in FHR.
2014-07-01 12:52:23 -04:00
Drew Willcoxon
d373f30a5b Bug 983313 - Write crash events for plugin crashes and hangs (part 1: main changes). r=bsmedberg 2014-05-12 11:58:18 -07:00
Gregory Szorc
c77b93553a NO BUG - Fix bustage in toolkit/components/crashes/tests/xpcshell/test_crash_manager.js; r=me 2014-02-14 14:53:47 -08:00
Gregory Szorc
cc47979e58 Bug 972093 - Detect run_next_test() during add_task(); r=ted, rnewman
If an xpcshell test called run_next_test() from inside an add_task(),
bad things would happen. This patch detects that behavior and aborts the
test immediately with an actionable error message.
2014-02-12 16:47:29 -08:00
Gregory Szorc
437bc82af6 Bug 875562 - Part 7: Implement limits for stored crash data; r=Yoric
This patch institutes limits for how much crash data can be stored in
terms of maximum number of crash events per day. If more events than the
limit are encountered, we record that a high water mark has been
encountered and we silently discard the payload of future events.

We chose to not increment the version of the store payload because no
clients are actively saving this data yet, so it doesn't make sense to
incur a version bump.
2014-01-28 17:33:38 -08:00
Gregory Szorc
e27ec87111 Bug 875562 - Part 6: Implement initial crash events; r=bsmedberg
Support for main process crashes, plugin crashes, and plugin hangs is
added to the crash manager. This includes a JS API for reporting them as
well as support for reading the event files.

There is still an issue of unbound growth on the store. This will be
addressed in a subsequent patch.
2014-01-28 15:46:03 -08:00
Gregory Szorc
9d35b1cb67 Bug 875562 - Part 4: Add Support for crash event files to CrashManager; r=Yoric
This patch introduces the concepts of the "crash data store" and "crash
event files." The "crash data store" is a data store containing
information about crashes. Data is added to this store directly through
a JavaScript API or by the presence of "crash event files." A "crash
event file" is simply an individual file containing information about
a crash event. These files are periodically scanned and their contents
are merged into the store.

Currently, no specific event files types are defined. This patch merely
begins to implement the infrastructure for dealing with them. Support
for specific crash events will be added in subsequent patches.
2014-01-27 15:49:11 -08:00
Gregory Szorc
e502d74bfe Bug 875562 - Part 3: XPCOM service for managing crash data; r=ted, bsmedberg 2014-01-23 15:49:24 -08:00
Gregory Szorc
8ba63dfcf8 Bug 875562 - Part 2: Create CrashManager API for managing crash data; r=ted, Yoric
The tree doesn't have a robust and reusable API for interfacing with
crash data. This patch is the start of a new API.

In this patch, the CrashManager type is introduced. It has APIs for
retrieving the lists of files related to crash dumps. In subsequent
patches, I will convert existing code in the tree that does similar
things to the new API. I will also build the events/timeline API onto
this type.

I made CrashManager generic because I hate, hate, hate singletons and
global variables. Allowing it to be instantiated multiple times with
different options (instead of say binding a global instance to ProfD)
makes the testing story much, much nicer. That is reason enough, IMO. In
a subsequent patch, I'll add an XPCOM service that instantiates the
"global" instance of CrashManager with the appropriate options.

It was tempting to add this code into the existing CrashReports.jsm.
However, this file does not import cleanly in xpcshell tests and I
didn't want to bloat scope to include fixing that file... yet.
CrashReports.jsm is using synchronous I/O. So, depending on how
adventerous I feel, I may replace consumers of CrashReports.jsm with the
new CrashManager.jsm, remove CrashReports.jsm, and eliminate another
source of synchronous I/O in the tree.
2013-11-19 14:08:25 -08:00