Commit Graph

402 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
4b8b5e1717 Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
James Willcox
d316cfb748 Bug 1433968 - Add CrashReporterService for GeckView r=jchen
The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.

We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.

MozReview-Commit-ID: C5ROsUKreRe
2018-05-10 16:42:20 -05:00
Tiberius Oros
8b87c0b363 Backed out 6 changesets (bug 1433968) for Android failures on GeckoRuntimeSettings on a CLOSED TREE
Backed out changeset bba1deb626b5 (bug 1433968)
Backed out changeset 7a8616427aea (bug 1433968)
Backed out changeset c94c48d76350 (bug 1433968)
Backed out changeset 64cccb490a2a (bug 1433968)
Backed out changeset 62f865eed952 (bug 1433968)
Backed out changeset 5ed1e3af37ba (bug 1433968)
2018-05-10 18:11:55 +03:00
James Willcox
586282f558 Bug 1433968 - Add CrashReporterService for GeckView r=jchen
The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.

We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.

MozReview-Commit-ID: C5ROsUKreRe
2018-05-10 08:34:06 -05:00
Narcis Beleuzu
ae51ef1921 Backed out 3 changesets (Bug 1433968) for causing Bug 1459349. a=backout
Backed out changeset 82b765c5a02f (bug 1433968)
Backed out changeset 73ec9bb3e17e (bug 1433968)
Backed out changeset 0812ac0376da (bug 1433968)
2018-05-07 17:06:30 +03:00
James Willcox
80f595e170 Bug 1433968 - Add CrashReporterService for GeckView r=jchen
The Fennec CrashReporter class is also renamed to
CrashReporterActivity. When running in Fennec, the Activity will be used
which retains what we do today, prompting for comments, email, etc. When
used in standalone GeckoView, we report the crash without user
interaction if the appropriate GeckoRuntimeSetting was set. The app will
want to ask for user permission at least once in order to set this.

We do not collect the URL, email, or logcat with GeckoView crashes.
Logcat and URL would be nice to have, but it's not clear what the API
for those would look like, and they can be addressed in followup
patches.

MozReview-Commit-ID: C5ROsUKreRe
2018-05-01 10:43:22 -05:00
Haik Aftandilian
4f8eab4f40 Bug 1457501 - Part 1 - Mac Crash deadlock triggered by CrashReporter::GetFlatThreadAnnotation() lock acquisition r=gsvelto
MozReview-Commit-ID: BxIUqco6oiV
2018-04-24 15:59:15 -07:00
Dorel Luca
765ba20068 Backed out 2 changesets (bug 1457501) for build bustage. CLOSED TREE
Backed out changeset 911c930bc055 (bug 1457501)
Backed out changeset bba71ee5fb46 (bug 1457501)
2018-05-01 01:58:54 +03:00
Haik Aftandilian
54f93c5eb1 Bug 1457501 - Part 1 - Mac Crash deadlock triggered by CrashReporter::GetFlatThreadAnnotation() lock acquisition r=gsvelto
MozReview-Commit-ID: BxIUqco6oiV
2018-04-24 15:59:15 -07:00
Gabriele Svelto
1ede3fa15f Bug 1357688 - Clean up and document the crash reporter environment variables; r=ted.mielczarek
This cleans up the way the crash reporter client invokes the minidump analyzer
by removing the extra command-line parameter and replacing it with an
environment variable. Since I was at it I've also cleaned up other uses of env
variables in the code and added documentation for all of them.

MozReview-Commit-ID: ATkgsI3L2Md
2018-02-26 15:00:58 +01:00
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
Dorel Luca
df47fcf2d7 Backed out 3 changesets (bug 1430857) for breaking tests on Windows Code Coverage builds a=backout
Backed out changeset a992887a6060 (bug 1430857)
Backed out changeset cc9b0ac5f66b (bug 1430857)
Backed out changeset 4bdd6d82f993 (bug 1430857)
2018-02-07 15:02:58 +02:00
Aaron Klotz
35aa23590d Bug 1430857: Part 1 - Refactor DllServices to make it possible to obtain them from anywhere in Gecko; r=jimm
MozReview-Commit-ID: GfWata0eCc5
2018-01-30 14:23:10 -07:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Cervantes Yu
88dfb9a6e6 Bug 1426090 - Use minidump type 'MiniDumpWithIndirectlyReferencedMemory' for nightly on Windows. r=ted
This makes heap objects directly referenced from stack objects accessbile when
debugging minidumps with a debugger, with the cost of doubling the size of
minidumps.

MozReview-Commit-ID: 52ox1lFcaAz
2018-01-03 16:06:11 +08:00
Gabriele Svelto
66b2608989 Bug 1424304 - Workaround to allow the crashreporter to launch correctly on Fennec; r=ted.mielczarek
MozReview-Commit-ID: EELVnTZF4Tv
2017-12-08 18:25:40 +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
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
Chris Peterson
abda5bf615 Bug 1402666 - Part 3: Replace Replace(NS_LITERAL_STRING("")) with ReplaceLiteral(u""). r=erahm
MozReview-Commit-ID: Ji6UdG32RF4
2017-09-15 19:32:55 -07:00
Chris Peterson
6137e4ff8b Bug 870698 - Part 2: Replace Append("") with AppendLiteral(""). r=erahm
MozReview-Commit-ID: CrkIP4iHP1U
2017-09-03 22:14:11 -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
Gabriele Svelto
45f9e5d7f6 bug 1376574 - Do not use fork() for launching the crashreporter on Mac since that might crash too; r=ted
MozReview-Commit-ID: BX1ig3rtoIr
2017-06-27 23:39:30 +02:00
Cervantes Yu
acb3a5373a Bug 1390143 - Generate the parent minidump synchronously to keep parent process's stack when creating paired minidumps. r=gsvelto
Bug 1360308 offloads IO operations from the main thread when we create paired minidumps.
This breaks the symmetry of paired minidumps: the thread stacks of the parent minidump
doesn't correspond to the thread stacks in the child minidumps and renders the parent
stack useless. This patch moves generation of the parent minidump back to the main
thread to keep the context of the parent process when creating paired minidumps. Child
minidump is still created asynchronously.

MozReview-Commit-ID: 9RmBAuXMPSX
2017-08-25 11:12:34 +08:00
Cervantes Yu
44160f971b Bug 1320134 - Part 4: Remove the debug patches for running out of TLS slots on Windows. r=froydnj
Revert revision f760842b14a2, 051b765ca8f2 and 01125b5142e5 since the original
bug that we run out of TLS slots on Windows is no longer showing up after
firefox55. It should have been fixed elsewhere, very likely in the rust part.

MozReview-Commit-ID: 9j5hFSGT3OE
2017-08-21 16:24:29 +08:00
Eric Rahm
4d399e631a Bug 1389598 - Part 4: Remove remaining gonk refs. r=froydnj 2017-08-11 17:45:18 -07:00
David Major
2b7e047a78 Bug 1380200 - Increase Breakpad's memory reserve size due to xul.dll inflation. r=ted 2017-07-21 09:10:00 -04:00
Nicholas Nethercote
28add88508 Bug 1381727 (part 2) - Remove SmprintfFree(). r=glandium.
It's just a complex wrapper for free(), or equivalent function. (In practice,
all the uses end up in free().)
2017-07-25 09:09:25 +10:00
Nicholas Nethercote
d9bf389346 Bug 1382099 - Remove MOZ_WIDGET_GONK from toolkit/. r=glandium. 2017-07-19 18:38:48 +10:00
J. Ryan Stinnett
89c41966f8 Bug 1379857 - Record Rust panics for child process crashes. r=dmajor
Install crash reporter's panic hook in child processes (and also delay the main
process installation until we know crash reporter is enabled).

When collecting child crash annotations, read the Rust panic message if it
exists.

MozReview-Commit-ID: Gfp2E8IHjw8
2017-07-12 14:41:19 -05:00
Nicholas Nethercote
fcd4f4fa21 Bug 1376638 - Minimize uses of prmem.h. r=glandium.
It's silly to use prmem.h within Firefox code given that in our configuration
its functions are just wrappers for malloc() et al. (Indeed, in some places we
mix PR_Malloc() with free(), or malloc() with PR_Free().)

This patch removes all uses, except for the places where we need to use
PR_Free() to free something allocated by another NSPR function; in those cases
I've added a comment explaining which function did the allocation.
2017-06-30 19:05:41 -07:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07: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
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07: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
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Ehsan Akhgari
e2d0012fd1 Bug 1370609 - Avoid reading the version of dbghelp.dll on startup; r=ted
We will do the same thing for all versions of this DLL that ship
on the versions of Windows that we support, so this currently
only serves as a way to slow down startup.
2017-06-08 12:38:05 -04: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
Markus Stange
a23bea7f03 Bug 1367591 - Process gDelayedAnnotations on Windows and Mac as well, not just on Linux. r=jdm
MozReview-Commit-ID: LQrU8NTdj7V
2017-05-28 22:30:22 -04:00
Tom Tromey
d9bd120d9c Bug 1331766 - free childCrashNotifyPipe on XP_MACOSX; r=froydnj
MozReview-Commit-ID: J64NC6b5NrI
2017-05-03 13:55:24 -06:00
Wes Kocher
78efa7b9c0 Merge inbound to central, a=merge CLOSED TREE
MozReview-Commit-ID: 9HQViJrDT6S
2017-04-26 17:30:31 -07:00