Commit Graph

99 Commits

Author SHA1 Message Date
Alex Gaynor
e8ab01e333 Bug 1407693 - Part 2 - when a child process crashes, write extra annotation data to a pre-opened file descriptor instead of creating a new file; r=gsvelto,rbarker
This removes the need for the content process to have permissions to create new
files on macOS, allowing more aggressive sandboxing.

MozReview-Commit-ID: 8agL5jwxDSL
2017-11-27 14:37:34 -06:00
Andreea Pavel
f095f95d96 Backed out 2 changesets (bug 1407693) for windows mingw32 bustages at /builds/worker/workspace/build/src/ipc/glue/GeckoChildProcessHost.cpp:1032 on a CLOSED TREE
Backed out changeset 9c3346021c21 (bug 1407693)
Backed out changeset f18e1e557cf6 (bug 1407693)
2018-02-07 21:42:47 +02:00
Alex Gaynor
58756bc0a2 Bug 1407693 - Part 2 - when a child process crashes, write extra annotation data to a pre-opened file descriptor instead of creating a new file; r=gsvelto
This removes the need for the content process to have permissions to create new
files on macOS, allowing more aggressive sandboxing.

MozReview-Commit-ID: 8agL5jwxDSL
2017-11-27 14:37:34 -06:00
Eric Rahm
b80a434a68 Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium
This removes an unnecessary level of indirection by replacing all
nsStringGlue.h instances with just nsString.h.
2017-12-06 16:52:51 -08:00
Jan Beich
6e5ff9052d Bug 1419959 - Unbreak build on Tier3 platforms after bug 1402519. r=gsvelto
MozReview-Commit-ID: 8NNtuRkfbJe
2017-11-24 02:31:42 +00: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
Cervantes Yu
a45a8408bd Bug 1415103 - Remove dead code in crash reporting. r=gsvelto
This removes dead code using headlessClient and lastRunCrashID in crash
reporting. headlessClient is unconditional now. nsIXULRuntime.lastRunCrashID
is not used anymore so remove code for implementing it.


MozReview-Commit-ID: AU4bUeIx3O0
2017-11-08 11:49:37 +08:00
Gabriele Svelto
413f758f9c Bug 1402153 - Remove dead code from the crash reporter; r=ted.mielczarek
MozReview-Commit-ID: Gsg4d5hntb4
2017-10-11 23:33:56 +02:00
Adam Gashlin
ddbfebf859 Bug 1401400 - Part 1. Option to analyze all threads. r=gsvelto
MozReview-Commit-ID: HYSslbqnJuM
2017-10-17 15:02:18 -07:00
Kartikaya Gupta
a111c710f4 Bug 1390488 - Pass the childProcessTmpDir from the parent process to the GPU process. r=froydnj
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.

See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.

MozReview-Commit-ID: 1sFg27hIe7S
2017-09-13 11:26:25 -04:00
Sebastian Hengst
5aeba3b77a Backed out changeset b80e267bdf30 (bug 1390488) 2017-09-13 16:36:56 +02:00
Kartikaya Gupta
f9128e0151 Bug 1390488 - Pass the childProcessTmpDir from the parent process to the GPU process. r=froydnj
The GPU process doesn't have the directory service enabled, so it can't find
a tmp dir to put its .extra files for crash reports. Even if we do enable the
directory service, we still don't get the correct "content process tmp dir" in
the GPU process, because the UUID baked into that folder is passed via the
preferences service, and that isn't initialized in the GPU process either.
Rather than unneccessarily initialize all this stuff in the GPU process just
to get one folder name, we can pass that folder name directly in the argv list.

See comments 12-19 on the bug for further discussion of the various solutions
attempted/explored.

MozReview-Commit-ID: 1sFg27hIe7S
2017-09-13 10:18:15 -04:00
Cervantes Yu
3b393d23dd Bug 1360308 - Part 3: Support off-main-thread I/O in CrashReporter::CreateMinidumpsAndPair(). r=gsvelto
This moves the I/O operations of writing minidumps in CrashReporter::CreateMinidumpsAndPair()
off the main thread and use callbacks to notify the completion of the operations.

MozReview-Commit-ID: 9wpTDDUp9GN
2017-06-22 18:53:10 +08:00
Cervantes Yu
82a3b7996a Bug 1286802 - Part 3: Add empty set_include_context_heap() implementation to ExceptionHandler and CrashGenerationServer. r=ted
MozReview-Commit-ID: 5GBzvyvNPDa
2017-06-20 15:00:32 +08: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
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
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
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
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
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
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
Kirk Steuber
2739fab23f Bug 1263774 - Include memory reports in content process crash reports. r=mccr8, r=aklotz
MozReview-Commit-ID: 7y3GFBZxjsS
2016-06-21 11:45:25 -07:00
Aaron Klotz
c8a0d9ab7b Bug 1256541: Fix incorrect generation of path for child process .extra files when content sandboxing is disabled; r=bsmedberg
MozReview-Commit-ID: JQgqlntQ6cu
2016-03-16 12:35:50 -06:00
Wes Kocher
090bbab1db Backed out changeset 0827e0e5d9d4 (bug 1256541) for timeouts and crashes in browser_CTP_crashreporting.js
MozReview-Commit-ID: 704JC6wknXc
2016-03-24 13:04:48 -07:00
Aaron Klotz
b568d00e85 Bug 1256541: Fix incorrect generation of path for child process .extra files when content sandboxing is disabled; r=bsmedberg
Since the minidump path can be overridden programmatically in the chrome
process, using that path as the base for .extra files won't work since content
is unaware of it.

This patch changes everything to use the temp path when MOZ_CONTENT_SANDBOX is
not defined or when sandboxing is disabled via pref. It also moves the derivation
of the content temp path out of exception context on Windows and Mac, as I
found out that those functions touch the heap.

I also noticed that xpcshell is not sandbox-aware when utilized as a parent
process. I've filed bug 1257098 to take care of that, but this patch includes a
hack for the immediate term.

MozReview-Commit-ID: 3SIB5Nihqxh
2016-03-16 12:35:50 -06:00
Benjamin Smedberg
8bdab4404f Bug 1187270 - Add Telemetry session ID to crash annotations, r=gfritzsche
MozReview-Commit-ID: GwVI0dfsT4H
2016-03-14 09:31:19 -04:00
Daniel Holbert
ca38f91a55 backout d85b18faba72 (bug 1187270) for build bustage. 2016-03-15 15:51:56 -07:00
Benjamin Smedberg
b97feb5d63 Bug 1187270 - Add Telemetry session ID to crash annotations, r=gfritzsche
MozReview-Commit-ID: GwVI0dfsT4H
2016-03-14 09:31:19 -04:00
James Willcox
722f3ce22e Bug 1245612 - Send texture usage bytes in crash reports r=bsmedberg 2016-02-08 09:18:52 -06:00
Michael Layzell
14ccbcba87 Bug 1183355 - Annotate crash reports triggered by MOZ_CRASH in release builds, r=froydnj 2015-10-08 10:01:08 -04:00
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Jim Mathies
86288bee44 Bug 1160142 - Updates for exception handler apis to allow the pairing of a passed in minidump. r=ted 2015-06-11 12:25:45 -05:00
Jim Mathies
9765a544ad Bug 1153205 - ContentParent should annotate crash reports prior to calling GeneratePairedMinidump. r=ted 2015-06-11 12:25:45 -05:00
Steven Michaud
83cc34e3bf Bug 1088938 - Allow annotations set using CrashReporter::AnnotateCrashReport() to be removed subsequently. r=ted 2014-10-28 11:08:46 -05:00
David Major
a30f7df896 Bug 1007534 - Part 1: Add a saveMemoryReport method to nsICrashReporter. r=froydnj 2014-08-30 17:21:09 +12:00
Benjamin Smedberg
ec5514aa71 Bug 1039577 - CrashReporter::OOPInit should be multithread-safe, r=ted 2014-07-18 13:31:45 -04:00
Benjamin Smedberg
a9aaedd1c3 Bug 1004623 - UpdateCrashEventsDir() is called before XPCOM is started, which means crash events are not being recorded until/unless the user uses an out-of-process plugin. r=ted 2014-05-06 15:48:40 -04:00
Gregory Szorc
4474708573 Bug 875562 - Part 8: Write crash events for main process crashes; r=bsmedberg
This patch makes the crash reporter crash event directory aware and
writes main process crash event files at crash time.
2014-02-18 15:58:03 -08:00
Aaron Klotz
c0f724e6c0 Bug 852117: Add event loop nesting level API to crash reporter; r=ted 2014-02-13 10:51:09 -07:00
Jed Davis
83d6ea6474 Bug 945498 - Use breakpad to report seccomp violations as crashes. r=ted, r=kang
Upstream issue for breakpad patch: https://breakpad.appspot.com/1114003/
2014-02-05 13:29:51 -05:00
Benjamin Smedberg
1246de99b0 Bug 938794 - Annotate OOM size as infallible string or data structures abort, r=froydnj 2013-11-25 15:06:17 -05:00
David Major
f3ff22e118 Bug 932100 - Part 2: Move DLL blocklist code to mozglue. r=bsmedberg, r=glandium 2013-11-12 08:31:32 -05:00
Benjamin Smedberg
d7ad4de553 Bug 927944 - Annotate crash reports with a list of DLLs that were blocked via the windows blocklist. Also fix the blocklist to recognize forward-slash as a path delimiter, r=ehsan 2013-10-18 14:24:50 -04:00