Commit Graph

135 Commits

Author SHA1 Message Date
Gabriele Svelto
d359fcb2e9 Bug 1464773 - Add low-memory event counts to the crash report; r=ted.mielczarek
MozReview-Commit-ID: 9hf31FSigrI
2018-05-28 10:09:20 +02:00
Mark Banner
3b36b732b2 Bug 1463673 - Add the expected argument to Assert.throws/rejects for various tests in toolkit/. r=mossop
MozReview-Commit-ID: LsWlHC16145
2018-05-22 19:25:34 +01:00
Nika Layzell
fbd3b168bb Bug 1455217 - Part 3: Use the new xpidl Promise type instead of nsISupports, r=bz 2018-05-14 17:55:54 -04:00
Kris Maglione
fd7e9e6a69 Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY
2018-04-22 20:55:06 -07:00
Gabriele Svelto
95ab44d7c1 Bug 1423715 - Add crash type keys to the crash manager histogram definitions; r=frank
This patch the list of process and crash types that can be recorded in a keyed
histogram by the crash manager; the relevant pattern was updated to match
these kesy. A test was also added to ensure that no new  crash types can be
added without also updating Histograms.json. This also fixes a related
existing test.

MozReview-Commit-ID: FKUZHd17a3V
2018-03-16 11:11:54 +01:00
Florian Quèze
f6add2cafd Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Florian Quèze
f1a55f73f8 Bug 1440284 - change this.EXPORTED_SYMBOLS back to var EXPORTED_SYMBOLS in JS modules, r=mccr8. 2018-02-23 20:50:01 +01:00
Andrew McCreight
272cee1e65 Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG
2018-02-06 09:36:57 -08:00
Florian Quèze
c5f15a4700 Bug 1339461 - script-generated patch to convert foo.indexOf(...) == -1 to foo.includes(), r=Mossop. 2018-02-01 20:45:22 +01:00
Kris Maglione
0bb74efdf1 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Cosmin Sabou
f09d6d985d Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione
fd67f090b2 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Brindusan Cristian
483ba301cb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione
683a97d172 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Dustin J. Mitchell
924fdd14e9 Bug 1403519 - only build docs when necessary r=gps
This marks **/docs/** as exclusively docs, and code that is autodoc'd as
inclusively docs.

That means that a change that purely modifies documentation files will *only*
run `docs` tasks, while a change that modifies autodoc'd source code will
*additionaly* run `docs` tasks.  The tasks do not run by default.

MozReview-Commit-ID: G9tOK0AwtrI
2017-10-02 18:22:56 +00:00
Noemi Erli
aaef80e91f Backed out 2 changesets (bug 1403519) for bustage on \python\mozbuild\mozbuild\test\frontend\test_reader.py on a CLOSED TREE
Backed out changeset f53f8adcd578 (bug 1403519)
Backed out changeset 5b293bcd3fc7 (bug 1403519)
2018-01-17 07:23:40 +02:00
Dustin J. Mitchell
451e3b63c2 Bug 1403519 - only build docs when necessary r=gps
This marks **/docs/** as exclusively docs, and code that is autodoc'd as
inclusively docs.

That means that a change that purely modifies documentation files will *only*
run `docs` tasks, while a change that modifies autodoc'd source code will
*additionaly* run `docs` tasks.  The tasks do not run by default.

MozReview-Commit-ID: G9tOK0AwtrI
2017-10-02 18:22:56 +00:00
Margareta Eliza Balazs
a773d5e139 Backed out changeset 6d539e4a02bd (bug 1403519) for lint failures on a CLOSED TREE 2018-01-11 22:32:27 +02:00
Dustin J. Mitchell
cb2823906c Bug 1403519 - only build docs when necessary r=gps
This marks **/docs/** as exclusively docs, and code that is autodoc'd as
inclusively docs.

That means that a change that purely modifies documentation files will *only*
run `docs` tasks, while a change that modifies autodoc'd source code will
*additionaly* run `docs` tasks.  The tasks do not run by default.

MozReview-Commit-ID: G9tOK0AwtrI
2017-10-02 18:22:56 +00:00
Florian Quèze
1838aa9e08 Bug 1421992 - script-generated patch to replace do_execute_soon, do_print and do_register_cleanup with executeSoon, info and registerCleanupFunction, rs=Gijs. 2017-12-21 11:10:23 +01:00
Gabriele Svelto
482659850b Bug 1402519 - When the crash reporter code is disabled at configure time replace it with a dummy implementation; r=ted.mielczarek
MozReview-Commit-ID: F5QbaI1LlmZ
2017-11-14 14:49:33 +01:00
shindli
f90a73f3c0 Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
2dd38c6cdb Bug 1402519 - When the crash reporter code is disabled at configure time replace it with a dummy implementation; r=ted.mielczarek
MozReview-Commit-ID: F5QbaI1LlmZ
2017-11-14 14:49:33 +01:00
Chris H-C
259c782ec2 bug 1410143 - Whitelist ipc_channel_error for crash pings data-r?rweiss r=gsvelto
At present it is difficult to determine whether a crash ping is from a
shutdownkill or not. By including ipc_channel_error we will be able to figure
that out.

We also as a bonus get additional insight into ipc channel error types that
lead to crashes.

MozReview-Commit-ID: FepLsSS2tAI
2017-10-20 14:49:14 -04:00
Sebastian Hengst
6de3048253 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: Ai6Y5GGfkfT
2017-11-04 10:58:24 +01:00
Gabriele Svelto
b71bbf9689 Bug 1408806 - Gracefully deal with errors when killing the minidump-analyzer on shutdown; r=mconley
This solves two problems that were causing tests to fail intermittently. The
first issue is that calling nsIProcess.kill() on a process that had already
terminated would throw an exception which wouldn't be caught. Since this might
happen in cases where the minidump-analyzer run significantly faster than the
main event loop during the test. The second issue is that we tried to
unconditionally escape both the 'TelemetryEnvironment' and 'StackTraces'
field, but the latter would not be present in cases where the
minidump-analyzer would fail or be killed. This led to another spurious
exception.

MozReview-Commit-ID: 7srQtzig7xw
2017-10-26 22:59:29 +02:00
Felipe Gomes
84387cbde1 Bug 1413296 - Remove the E10SCohort annotation from a crash test, as it doesn't exist anymore. r=gsvelto
MozReview-Commit-ID: AGZF0xpxAPY
2017-11-03 15:07:28 -02:00
Adam Gashlin
136d98674a Bug 1401400 - Part 5. Test processing all threads for hang r=gsvelto
MozReview-Commit-ID: 2wvQpLPZc8j
2017-10-27 10:00:00 -07:00
Adam Gashlin
ff7e4da8c0 Bug 1401400 - Part 4. Test real crash dump, multiple threads. r=gsvelto
MozReview-Commit-ID: HDtG3nGywhS
2017-09-25 13:24:24 -07:00
Adam Gashlin
8c55248ef3 Bug 1401400 - Part 2. Dump all threads for "hang" type crashes. r=gsvelto
MozReview-Commit-ID: 9A3lmZ0kWFY
2017-10-19 14:39:54 -07:00
Dan Banner
5af4450327 Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
MozReview-Commit-ID: Jm8BRgt6mIv
2017-10-15 20:50:39 +01:00
Gabriele Svelto
769e6a19c9 Bug 1395507 - Re-escape annotations holding JSON strings with newlines; r=mconley
MozReview-Commit-ID: Kx4U0wovi1u
2017-09-25 10:56:31 +02:00
Cervantes Yu
27ff10717a Bug 1400294 - Add 'noShell' attribute to nsIProcess to use CreateProcess() for launching a process that doesn't require shell service on Windows. r=froydnj,r=aklotz,r=dmajor
This adds an attribute 'noShell' to nsIProcess that is used to launch a process
using CreateProcess() if we are sure we are launching an executable and don't
require the extra work of the Windows shell service.

MozReview-Commit-ID: 7p0iHCZK1uX
2017-10-03 11:29:14 +08:00
Gabriele Svelto
6b3032fcb3 Bug 1393716 - Don't run minidump analysis on content crashes if the browser is quitting r=ted.mielczarek
When a content crash is detected we run the minidump analyzer on it to extract
a stack trace that will be sent with the crash ping. Since this operation can
potentially take a long time this patch prevents it from happening if the
browser is already quitting. Already running instances of the minidump
analyzer are also killed. The patch includes test coverage for both the new
codepaths.

MozReview-Commit-ID: 4CQBp0v5KxE
2017-09-03 10:48:18 +02:00
Mark Banner
44963145a5 Bug 1392098 - Enable the new ESLint no-useless-run-test rule across the tree. r=mossop
MozReview-Commit-ID: 35MaseieNUk
2017-08-20 18:52:05 +01:00
Gabriele Svelto
ba181b058b Bug 1373958 - Don't block shutdown while analyzing crashes; r=ted.mielczarek
MozReview-Commit-ID: 79oPWMx4idt
2017-08-03 16:41:45 +02:00
Florian Quèze
c0468168f5 Bug 1368456 - remove Promise.jsm imports in tests, r=mconley. 2017-06-23 11:25:52 +02:00
Florian Quèze
b622c2b081 Bug 1368456 - Remove imports of Promise.jsm from Firefox, r=mconley. 2017-06-23 11:25:18 +02:00
Gabriele Svelto
60a2e3b8e7 Bug 1353168 - Add a crash annotation to distinguish between web, file and extension content processes; r=bsmedberg
This adds the RemoteType annotation to a content crash report so that we can
distinguish between content processes that crashed while running remote, local
or extension code. The annotation is passed along the others to Socorro by the
crashreporter and is also whitelisted for inclusion in the crash ping.

MozReview-Commit-ID: 4avo0IWfMGf
2017-06-01 11:16:11 +02:00
Gabriele Svelto
eb6099646c Bug 1359326 - Run the minidump analyzer directly from the CrashService code; r=bsmedberg
This patch removes the C++ code used to run the minidump analyzer when a
content process crashes, and replaces it with JS code within the CrashService
object. This removes the need for a separate shutdown blocker in C++ code and
allows end-to-end testing of the crash service functionality. Additionally
the exception handler code can be simplified since it's now only used to run
the crash reporter client.

The test added to test_crash_service.js covers computing the minidump SHA256
hash (bug 1322611) and of the minidump analyzer itself (bug 1280477).

MozReview-Commit-ID: LO5w839NHev
2017-05-11 14:03:50 +02:00
Florian Quèze
15feaa278a Bug 1362882 - script-generated patch to switch from Promise.defer() to new Promise() where it's straightforward, rs=Mossop. 2017-05-12 14:55:27 +02:00
Florian Quèze
50b8c6608d Bug 1353542 - script-generated patch to remove .bind(this) calls we no longer need now that generator functions have been replaced with async functions, r=Mossop. 2017-05-12 14:47:41 +02:00
Florian Quèze
ff53eb9a63 Bug 1353542 - massive script-generated patch converting Task.async and Task.spawn calls, and generators clearly identifiable as tasks, rs=Mossop. 2017-05-12 14:42:39 +02:00
Wes Kocher
32114a338a Bug 1361417 - Update moz.build crash reporter bug components r=bsmedberg
MozReview-Commit-ID: IJgNTLI4K5w
2017-05-02 09:44:42 -07:00
Florian Queze
6cc0b6e992 Bug 1355056 - replace (function(args) { /* do stuff using this */ }).bind(this) with arrow functions, r=jaws. 2017-04-27 00:25:45 +02:00
Alessio Placitelli
fcc1e2b7b8 Bug 1352496 - Enable sending other child processes crash pings from the CrashManager. r=bsmedberg,ted
MozReview-Commit-ID: bG5iphe9Bc
2017-04-03 14:43:47 +02:00
Gabriele Svelto
ad6e2212ea Bug 1345153 - When the pingsender fails to send a ping, persist it to disk so that it can be sent later via regular telemetry; r=chutten,ted
Currently we hand over a crash ping to the pingsender via a pipe; if the
pingsender fails to send the ping we rely on the CrashManager assembling and
sending one instead. Since the crashmanager is not aware of whether the ping
was sent or not this causes duplication on the server side. To solve this
problem we save the ping to disk instead, read it from the pingsender and
delete the file only if the ping was sent. In this scenario the CrashManager
will know that a ping was already sent and will not send a new one.

This patch removes all the code used to deal with pipes between the telemetry,
crashreporter and pingsender code and also tries to cut down the amount of
platform-specific code we have in this machinery.

MozReview-Commit-ID: ASm2jnDagCK
2017-03-27 12:38:39 +02:00
Carsten "Tomcat" Book
6610746b51 merge mozilla-inbound to mozilla-central a=merge 2017-03-22 14:26:27 +01:00
Mark Banner
ec9074e132 Bug 1347712 - Change the testing configurations into ESLint configurations within eslint-plugin-mozilla - automatically update .eslintrc.js test config files for new config locations. r=jaws
MozReview-Commit-ID: LH0CQOPfoe6
2017-03-20 12:36:37 +01:00
Gabriele Svelto
30d88a559a Bug 1322611 - After a crash compute the SHA256 hash of a minidump and attach it to the crash ping; r=Ted, nchen
This patch changes the crashreporter client code as well as the crash service
code to compute a SHA256 hash of a crash' minidump file and add it to the
crash ping. The crash service code computes the hash on the fly before handing
over the crash to the crash manager; the crash manager will then add it to the
crash ping. The crashreporter client on the other hand sends the hash via the
ping it generates but it also adds it to the event file so that the crash
manager can pick it up and send it along with its own crash ping. On Fennec
the crashreporter activity takes care of computing the hash.

SHA256 hash computation uses nsICryptoHash in the crash service, the
java.security.MessageDigest class in Fennec, the bundled NSS library in the
crashreporter when running on Windows and Mac and the system-provided NSS
library under Linux. The latter is required because the crashreporter client
uses the system curl library which is linked to NSS and which would thus clash
with the bundled one if used together.

This patch introduces two new methods for the nsICrashService interface:
|getMinidumpForID()| and |getExtraFileForID()|, these reliably retrieve the
.dmp and .extra files associated with a crash and ensure the files exist
before returning. These new methods are used in the CrashService for
processing and will become the only way to reliably retrieve those files
from a crash ID.

MozReview-Commit-ID: 8BKvqj6URcO
2017-02-16 07:36:57 +01:00