Commit Graph

402 Commits

Author SHA1 Message Date
Nicholas Nethercote
c768a954ae Bug 1358320 - Make TimeStamp::ProcessCreation()'s outparam optional. r=gsvelto.
TimeStamp::ProcessCreations()'s aIsInconsistent outparam is ignored by the
majority of its caller. This patch makes it optional. Notably, this makes
ProcessCreation() easier to use in a constructor's initializer list.
2017-04-26 14:55:54 +10:00
Tom Tromey
a0148cdc8d Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa
2017-03-03 08:17:27 -07:00
David Major
a8d3bebcfb Bug 1357218: Call SetJitExceptionHandler in child processes too. r=ted 2017-04-21 20:25:19 -04:00
Cervantes Yu
6bcb4f30a4 Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Sebastian Hengst
189424cb45 Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu
c2014c712d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Carsten "Tomcat" Book
e6d6caf1f8 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu
eb13868db5 Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Ted Mielczarek
c3387c51cd bug 1275780 - capture Rust panic message in crash reports. r=froydnj
MozReview-Commit-ID: IUlYqPEtkgg
2017-03-27 14:40:22 -04:00
Iris Hsiao
8ba9e8add6 Backed out changeset 23c5ecf4d92e (bug 1275780) for xpcshell perma-failing in Win8 2017-03-31 13:47:33 +08:00
Ryan VanderMeulen
27d4872cfd Merge m-c to inbound. a=merge 2017-03-30 15:21:27 -04:00
Ted Mielczarek
e86ce3e5cc bug 1275780 - capture Rust panic message in crash reports. r=froydnj
MozReview-Commit-ID: IUlYqPEtkgg
2017-03-27 14:40:22 -04:00
Alessio Placitelli
561554fa17 Bug 1345153 - Suppress valgrind warnings for PR_SetEnv in SetupCrashReporterDirectory. r=njn
MozReview-Commit-ID: 4vV2EHsgTVT
2017-03-30 08:04:11 +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
Ting-Yu Chou
cfe7f18dfc Bug 1337688 - Update a TODO comment according to the experimental data. r=me 2017-03-27 13:19:19 +08:00
Cervantes Yu
dfe14a88d3 Bug 1320134 - Part 3: Annotate the crash report with TLS allocation stacks on running out of TLS slots. r=ted
MozReview-Commit-ID: 9BEe4G28Txd
2017-02-23 16:46:27 +08: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
Cervantes Yu
1dc66fdf49 Backed out changeset 9ba65a580135 (bug 1320134) for crashing webgl on Windows. r=backout 2017-03-15 12:41:49 +08:00
Cervantes Yu
8d93ff74dc Bug 1320134 - Part 3: Annotate the crash report with TLS allocation stacks on running out of TLS slots. r=ted
MozReview-Commit-ID: 9BEe4G28Txd
2017-02-23 16:46:27 +08:00
Gabriele Svelto
e1ac4cd99f Bug 1341282 - Write the telemetry session id to the .extra file during a crash; r=Ted
MozReview-Commit-ID: 3xltHwV7L5x
2017-02-21 15:23:58 +01:00
David Anderson
fd68763f13 Remove PCrashReporter. (bug 1338310, r=billm) 2017-02-21 11:24:26 -08:00
Tom Tromey
3fd33404e6 Bug 1060419 - make nsExceptionHandler.cpp use Printf.h, r=froydnj
MozReview-Commit-ID: L48EI25MtH1
2016-12-09 10:30:19 -10:00
Gabriele Svelto
c850b3a312 Bug 1310703 - Make the crashreporter client send a crash ping via the ping sender executable; r=ted
MozReview-Commit-ID: JV6HkUZYkUk
2017-01-16 18:14:17 +01:00
Ted Mielczarek
46e0ca7238 bug 1336548 - fork breakpad src/client into toolkit/crashreporter/breakpad-client. r=gsvelto
The client portion of Breakpad is unmaintained upstream for Windows and OS X,
since Chromium has switched to Crashpad there. The Linux client still gets
fixes, but they're essentially all for ChromeOS support so they're not very
useful to us. This patch forks what is currently in
toolkit/crashreporter/google-breakpad/src/client into
toolkit/crashreporter/breakpad-client so we can make changes in mozilla-central
as needed without upstreaming them to a dead upstream.

This patch also changes the update-breakpad script to remove the src/client
directory when updating to a newer Breakpad revision.

A followup patch will remove unused files from the forked copy.

MozReview-Commit-ID: Fj4o2XjjkkD
2017-02-08 06:45:38 -05:00
Ting-Yu Chou
2b170c34f4 Bug 1334027 - Add unloaded modules and process/thread data to minidumps. r=ted
MozReview-Commit-ID: LpiE5f9dYqM
2017-02-02 09:33:01 +08:00
Mike Conley
712d2621d8 Bug 1333223 - Add an unhandled exception handler. r=ted
The exception handler calls MOZ_CRASH, which should allow
our crash reporting infrastructure to kick in.

MozReview-Commit-ID: FzTlXOIMzal
2017-01-29 02:53:50 -05:00
Sebastian Hengst
3ce6ae3ac9 Backed out changeset d0c8b217cddd (bug 1333223) for GTest failure in STLWrapper.ShouldAbortDeathTest. r=backout on a CLOSED TREE 2017-01-30 18:49:53 +01:00
Mike Conley
fd0a79453b Bug 1333223 - Add an unhandled exception handler. r=ted
The exception handler calls MOZ_CRASH, which should allow
our crash reporting infrastructure to kick in.

MozReview-Commit-ID: FzTlXOIMzal
2017-01-29 02:53:50 -05:00
Nathan Froyd
99c976cb15 Bug 1298676 - part 3 - disable I/O interposition when manually taking crashdumps; r=ted.mielczarek 2017-01-10 16:31:25 -05:00
Markus Stange
a24593a89f Bug 1323100 - Assign names to all remaining threads that are created through NS_NewThread and create them using NS_NewNamedThread instead. r=froydnj
MozReview-Commit-ID: 7W1dt2BBKJZ
2016-12-21 11:43:50 +01:00
Gabriele Svelto
921d52f071 Bug 1293656 - Send crash pings for content crashes complete with stack traces r=bsmedberg
* * *
Bug 1293656 - Fix the test_process_error.xul test
2016-10-19 12:51:29 +02:00
Gabriele Svelto
7af207f5bf Bug 1293656 - Store all crash annotations in the crash manager's database and filter out privacy-sensitive ones when sending a crash ping r=bsmedberg 2016-10-19 12:48:19 +02:00
Gabriele Svelto
1fc9fa978f Bug 1293656 - Clean up the exception handler code r=ted 2016-10-19 12:38:56 +02:00
Tomislav Jurin
9ff3007b90 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08:00
Nathan Froyd
321e839727 Bug 1318739 - remove DoFindInReadable from nsExceptionHandler; r=ted.mielczarek
We now have an overload for the simple case of finding |key| in some
|string|, so we don't need this utility function anymore, which
presumably dates from when said overload did not exist or was
inaccessible due to library visibility, or something.
2016-11-28 09:33:07 -04:00
Randall Barker
c82d8aa286 Bug 1314466 - part 2, Allow android to set channel file descriptor for crash reporter r=froydnj 2016-11-14 16:45:23 -08:00
David Major
f0780703de Bug 1316168: Fix the clang-cl build in nsExceptionHandler.cpp. r=froydnj
MozReview-Commit-ID: HdUp3dGRmcq
2016-11-09 10:39:20 -06:00
Emanuel Hoogeveen
cdea0978c6 Bug 1309573 - Part 1: Define the crash reason in MFBT to let everything use it. r=froydnj 2016-11-06 22:57:00 -05:00
Ting-Yu Chou
8f9961e3fc Bug 1301022 - Add an API for annotating pending IPC messages. r=ted
MozReview-Commit-ID: GiAMUnjYjvI
2016-09-20 14:10:43 +08:00
David Anderson
c803f94cf6 Add nsExceptionHandler support for CrashReporterClient. (bug 1278717 part 2, r=billm) 2016-10-11 14:25:21 -07:00
Phil Ringnalda
678c8ee447 Merge m-i to m-c, a=merge
MozReview-Commit-ID: 93ZdJbK1x05
2016-10-06 19:58:18 -07:00
Gian-Carlo Pascutto
3262985f94 Bug 1289718 - Clean up stat/stat64 wrapper. Deal with non-default TMPDIR. r=jld
MozReview-Commit-ID: DW63be9qd3z
2016-10-06 13:25:13 +02:00
Gabriele Svelto
088fc29892 Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted
* * *
Bug 1264367 - Accomodate for the new version of Breakpad
2016-10-05 11:46:07 +02:00
Ting-Yu Chou
5455e4f1ca Bug 1301022 - Back out crash annotations which doesn't work in child process. r=me
MozReview-Commit-ID: BMq1lxwDO2u
2016-10-03 10:08:11 +08:00
Wes Kocher
d31d166f3f Backed out changeset 1adfbab318a6 (bug 1264367) for breaking crash stacks CLOSED TREE 2016-10-03 14:50:27 -07:00
Gabriele Svelto
8bd242ea95 Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted 2016-10-03 13:43:28 +02:00
Nathan Froyd
3362bded10 Bug 1305422 - part 16 - don't call size_backward in nsExceptionHandler.cpp; r=ted.mielczarek 2016-09-29 22:33:57 -04:00
Phil Ringnalda
9f04a60b90 Backed out changeset ae50c61cb134 (bug 1264367) for breaking crash stacks on at least Android and Linux 2016-09-21 13:26:24 -07:00
Gabriele Svelto
53ad14981b Bug 1264367 - Upgrade breakpad to upstream revision 704f41ec901c419f8c321742114b415e6f5ceacc r=ted 2016-09-21 17:44:50 +02:00
Ting-Yu Chou
6c461e7e7e Bug 1301022 - Add an API for annotating pending IPC messages. r=ted
MozReview-Commit-ID: GiAMUnjYjvI
2016-09-20 14:10:43 +08:00