Commit Graph

1559 Commits

Author SHA1 Message Date
Gabriele Svelto
36f613b23b Bug 1464773 - Add low-memory event counts to the crash report; r=ted.mielczarek
MozReview-Commit-ID: 9hf31FSigrI

--HG--
extra : rebase_source : ac71384398f1b7d08e04276b39c7027e43c92747
2018-05-28 10:09:20 +02:00
Cosmin Sabou
1bc774a842 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-01 12:44:57 +03:00
Emilio Cobos Álvarez
fffb25b74f 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
Mike Hommey
1bf8415dea Bug 1465659 - Take PERFHERDER_EXTRA_OPTIONS into account for static initializer count report. r=nalexander
--HG--
extra : rebase_source : af3296eb541b04217a5676b2ac9eacc20220978f
2018-05-31 12:55:38 +09:00
Mike Hommey
0f7eb63436 Bug 1464537 - Fall back to the raw symbol name from DW_AT_MIPS_linkage_name when there is nothing else. r=ted
When DW_AT_MIPS_linkage_name doesn't demangle, breakpad currently throws
the symbol completely, but in some cases, there is no DW_AT_name or
DW_AT_abstract_origin to figure out a name, and the raw value from
DW_AT_MIPS_linkage_name is still better than nothing. Fall back to that
in when there is nothing else.

--HG--
extra : rebase_source : bb6a60ddc6e3d825e4da85f7c8a54258800ad9e2
2018-05-29 08:28:39 +09:00
Mike Hommey
1a11d9733e Bug 1464537 - Add support for DWARF 4 DW_AT_linkage_name. r=ted
--HG--
extra : rebase_source : 1a267e84005235bdb690ce9f03561823e0d0b467
2018-05-29 08:26:55 +09:00
Mike Hommey
8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Dorel Luca
d54a3b06aa Backed out changeset da12c077747f (bug 1448040) for Android build bustage on build/src/obj-firefox/dist/include/mozilla/HangAnnotations.h. CLOSED TREE
--HG--
extra : amend_source : 683201b5a47af3cb7fdcb7426c65f1c9ed713186
2018-05-25 20:13:26 +03:00
Doug Thayer
9765bdd0e0 Bug 1448040 - Remove HangMonitor/ChromeHangs r=Nika
Fairly straightforward, just a blanket removal. Haven't heard
anything on dev-platform or fx-data-dev regarding this removal,
so I think it's likely safe to remove on Nightly, and we can
revert if anyone makes a fuss.

As part of removing the HangMonitor, I renamed a few things and
reorganized the namespaces to not depend on a HangMonitor
namespace. Hopefully this doesn't produce too much noise in the
diff, it just seemed appropriate to move everything around
rather than keep dangling vestiges of the old system.

MozReview-Commit-ID: 8C8NFnOP5GU

--HG--
extra : rebase_source : a8840bd26f4b01b756ffa72345ababb625048550
2018-04-29 18:21:20 -07:00
Kris Maglione
6b12d08f7d Bug 1462937: Update callers to use nsIFile::GetDirectoryEntries as a nsIDirectoryEnumerator. r=froydnj
MozReview-Commit-ID: Iv4T1MVAF5

--HG--
extra : rebase_source : 1c518883d082884db7f9323a5acc20361228c26b
extra : histedit_source : 70a73c23d1199d3bfbb5379c78930401166c094b
2018-05-19 20:17:45 -07:00
Haik Aftandilian
349024ab14 Bug 1457545 - Part 2 - Fix indendation (whitespace change only) r=gsvelto
MozReview-Commit-ID: AMFNG7IBA8h

--HG--
extra : rebase_source : 358a85f63a1b5a1533a4e18178cb0b2f7891e34d
2018-05-18 16:02:32 -07:00
Haik Aftandilian
606da37393 Bug 1457545 - Part 1 - Mac Crash deadlock triggered by dlsym()/dlopen() deadlock r=gsvelto
Change the exception handler to resume non-exception threads after
generating the minidump and before calling exc_server() to avoid
dylib deadlocks.

MozReview-Commit-ID: MlqDgvD3aL

--HG--
extra : rebase_source : eb304290553754b6c00a698b41c1ffe2ed006b2a
2018-04-26 17:29:53 -07:00
James Willcox
bc73d8b2e0 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
5245fb43e0 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
05a3f8ac8e 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
Kris Maglione
01c298aca6 Bug 1460092: Add ESLint rule to enforce use of ChromeUtils.generateQI. r=Gijs
Also fixes existing code which fails the rule.

MozReview-Commit-ID: CkLFgsspGMU

--HG--
extra : rebase_source : 86a43837659aa2ad83a87eab53b7aa8d39ccf55b
2018-05-08 18:36:22 -07:00
Ted Mielczarek
ee4ed687a3 bug 1437577 - Upload symbols from try server builds to symbols.mozilla.org instead of symbols.stage.mozaws.net. r=peterbe
The symbol server recently gained the ability to upload symbols from try
to a different prefix in the symbols bucket. If we change the token stored
in the Taskcluster secret `project/releng/gecko/build/level-1/gecko-symbol-upload`
to one that has only "upload try symbols" permissions then we can upload
symbols from try server builds directly to symbols.mo.

MozReview-Commit-ID: HjQclKKXbA3

--HG--
extra : rebase_source : 8afed0bf52565bad513c30a7d5de274b356d6d84
2018-02-28 06:28:01 -05:00
Narcis Beleuzu
323d4a4185 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)

--HG--
extra : amend_source : 2748b297418eea9b7d3c2be11a8e7e300f8d709c
extra : histedit_source : 6428453bbe80ad044661d01e5127d924fffed1a3%2Cd2e712ac6c597784343ff08f75199851c07be4e7
2018-05-07 17:06:30 +03:00
James Willcox
bae31b8761 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
9d9760f391 Bug 1457501 - Part 2 - Remove unused type DeleteWithLock r=gsvelto
MozReview-Commit-ID: 9OU5YfRf45o

--HG--
extra : rebase_source : 0cc8a3b6c9fa940d1b69703ff85c6cd803c20b0d
2018-04-26 16:58:42 -07:00
Haik Aftandilian
f1616d626a Bug 1457501 - Part 1 - Mac Crash deadlock triggered by CrashReporter::GetFlatThreadAnnotation() lock acquisition r=gsvelto
MozReview-Commit-ID: BxIUqco6oiV

--HG--
extra : rebase_source : f60d5ecbe44fc61afd714762e8d1aea470c397b8
2018-04-24 15:59:15 -07:00
Dorel Luca
3748952e99 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
5ce132da33 Bug 1457501 - Part 2 - Remove unused type DeleteWithLock r=gsvelto
MozReview-Commit-ID: 9OU5YfRf45o

--HG--
extra : rebase_source : a4b175ebc318a59b403b1db77c9273c963ee43a5
2018-04-26 16:58:42 -07:00
Haik Aftandilian
b3a6041c35 Bug 1457501 - Part 1 - Mac Crash deadlock triggered by CrashReporter::GetFlatThreadAnnotation() lock acquisition r=gsvelto
MozReview-Commit-ID: BxIUqco6oiV

--HG--
extra : rebase_source : 456ff07d5289f3d2e28807e928e4ca08405761a7
2018-04-24 15:59:15 -07:00
James Willcox
c37c419263 Bug 1456203 - Take patch from upstream lss to fix use of disallowed syscalls on Android r=ted
https://chromium-review.googlesource.com/c/linux-syscall-support/+/699213

MozReview-Commit-ID: 7hjCWfwcuHR
2018-04-24 14:22:25 -05:00
Haik Aftandilian
725229a2eb Bug 1395504 - Infinite hang of web content process when parent process crashes r=gsvelto
Don't free memory in exception handling context to avoid deadlocks
and process state corruption. Replace old_handler_.reset() with
old_handler_.release() to intentionally leak the sigaction struct instead.

MozReview-Commit-ID: lUNygOJCUL

--HG--
extra : rebase_source : 1f50b7d22cc2fa32d3e31125e563df6203a48612
2018-04-11 11:53:06 -07:00
Sebastian Hengst
82f65475ee merge mozilla-central to autoland 2018-04-13 16:04:29 +03:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tom Ritter
e0f1bbacfc Bug 1449835 Do not compile Windows x64 Crash Test Assembly for MinGW r=ccorcoran,froydnj
The assembly file uses the wrong syntax and MinGW cannot compile it.

(Also, gcc doesn't recognize it, because it ends in .asm and not .s.)

MozReview-Commit-ID: 5mHPi8PVio3

--HG--
extra : rebase_source : d10a61e5eda24245105b6acd3e78726feebd9fd1
2018-04-12 15:21:30 -05:00
shindli
108a654fb8 Merge inbound to mozilla-central. a=merge 2018-04-12 02:45:34 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
William Lachance
bc2349a4d0 Bug 1452745 - Annotate crash pings with actual display and platform versions r=gsvelto
Before we were falling back to using the raw version, which isn't
correct on at least beta (i.e. we would get `60.0` instead of `60.0b1`).

MozReview-Commit-ID: 7NfV6iRoj4y

--HG--
extra : rebase_source : de1ea9d64d1d03c8281fc0ab9efe4ffac6fd40cb
2018-04-10 15:01:22 -04:00
Henri Sivonen
8402e1f7a2 Bug 1448772 - Avoid back-and-forth UTF-16 to UTF-8 to UTF-16 conversions in xpcom/base/MacHelpers.mm. r=mstange
MozReview-Commit-ID: LQ4ZMJzy5WI

--HG--
extra : rebase_source : 85320f3e0bcef7711517ecc1e5b7bc5ec074bda5
2018-03-26 10:49:02 +03:00
Carl Corcoran
043bf247e7 Bug 1449518: More accurate testing for invalid CFI in Win64 unwind info CFI tests; r=dmajor,gsvelto
MozReview-Commit-ID: DdnKFz73T3K

--HG--
extra : amend_source : 0fc89a8da7ada1e97f88654372091234fe9534f4
2018-03-29 10:38:52 +02:00
Cosmin Sabou
f3ee89b953 Backed out changeset 21db86504db5 (bug 1449518) for xpcshell failures on toolkit/crashreporter/test/unit/test_crash_win64cfi_invalid_exception_rva.js 2018-03-28 19:23:51 +03:00
Carl Corcoran
ea016dd3dd Bug 1449518: Remove unnecessary RBP trashing in x64CrashCFITest_ALLOC_SMALL; r=dmajor
MozReview-Commit-ID: DX9nPQZh7dp

--HG--
extra : rebase_source : ce24d1e3cce17f29ff98be58aa9822a10b3b66d2
2018-03-28 12:22:41 +02:00
Carl Corcoran
6089af290d Bug 1449392: Marking tests fixed in 1449131 as passing in Windows ccov; r=dmajor
MozReview-Commit-ID: 2gLKbEof7TK

--HG--
extra : rebase_source : 0cb68e81c5e8fe54a815289468dc2ab0d5496f33
2018-03-28 12:31:31 +02:00
Carl Corcoran
bc86afd92a Bug 1449131: Ensure stack memory is being committed for use in win64 unwind CFI tests; r=dmajor
MozReview-Commit-ID: EeveDYi1pEp

--HG--
extra : rebase_source : eaa8d89e7cafcc9660bd22f67cb685bb7eca1ec1
extra : source : 5e746127a186e0a52a2a538a8e6a58bc589e2df1
2018-03-27 14:49:22 +02:00
Tom Ritter
52b1afaea6 Bug 1448746 Capitalization fixes for MinGW x64 build in the crash reporter r=gsvelto
MozReview-Commit-ID: 8tZkuachYhX

--HG--
extra : rebase_source : d368302e6eb7d0bda9f5492c632f84ff70974429
2018-03-23 18:01:19 -05:00
Ted Mielczarek
dcdf597820 bug 1255485 - build PROGRAMs directly in dist/bin instead of copying them. r=nalexander
Historically we built all our binaries in directories in the objdir, then
symlinked them into dist/bin. Some binaries needed to be copied instead
so that certain relative path lookups work properly, so we resorted to
sprinkling `NSDISTMODE=copy` around Makefiles.

This change makes it so we build PROGRAMs (not any other sort of targets)
directly in dist/bin instead. We could do the same for our other targets
with a little more work.

There were several places in the tree that were copying built binaries to
some other place and needed fixup to match the new location of binaries.

On Windows pdb files are left in the objdir where the program was
originally linked. symbolstore.py needs to locate the pdb file both to
determine whether it should dump symbols for a binary and also to copy
the pdb file into the symbol package. We fix this by simply looking for
the pdb file in the current working directory if it isn't present next
to the binary, which matches how we invoke symbolstore.py.

MozReview-Commit-ID: 8TOD1uTXD5e
2018-01-10 14:26:12 -05:00
Tooru Fujisawa
d6dc027000 Bug 1442465 - Part 4.1: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (non-simple part). r=dao 2018-03-19 11:12:14 +09:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Coroiu Cristina
0f6841e0d2 Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)

--HG--
extra : rebase_source : 59b5350d2959c0b065aedd34bfe8337216c0ea4b
2018-03-14 11:13:21 +02:00
Sylvestre Ledru
c07eb73986 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 17c91bfd7241e3e522b1413b6e544df74f5361a0
2018-03-05 13:43:54 +01:00
Tom Ritter
f572733682 Bug 1444169 Fix capitalization for a few Windows files r=aklotz
MozReview-Commit-ID: BlWgIVobOBK

--HG--
extra : rebase_source : 71a8052c562aa7be510e3a4c13a0ca698a04a5ac
2018-03-08 14:49:59 -06:00
Aaron Klotz
764178004b Bug 1443357: Remove CertAnnotator as it is now obsolete; r=mhowell 2018-03-05 19:08:08 -07:00
Gabriele Svelto
a985338445 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

--HG--
extra : source : 05a762d6cb5e5fd9856743b4db38287d7c58a487
2018-02-26 15:00:58 +01:00
Aaron Klotz
bfbeb16e09 Bug 1436845: Part 3 - Add support for ModuleSignatureInfo field in .extra file on Windows builds; r=ted
We want to send information about the organization whose cert was used to sign
modules in our address space. Originally I had written this code to accumulate
that info within Firefox, but I realized that a better option is to do this
from the minidump analyzer:

(1) This way does not affect browser performance;
(2) This way allows us to properly gather cert info even from startup crashes.

This functionality was reviewed for data collection via bug 1430857.
2018-02-13 16:04:01 -07:00
Aaron Klotz
0540f81560 Bug 1436845: Part 2 - Link minidump-analyzer with mozglue on Windows; r=ted
I have already implemented code to check binary signatures in mozglue so that
we can do so from both firefox.exe and xul.dll.

Rather than including yet another implementation elsewhere, I'd rather just
reuse that code by building minidump-analyzer as a GeckoProgram with Null
XPCOM linkage, thus making it capable of using the mozglue implementation too.

I'd also like to add this signature stuff to Mac builds at some point, so I'm
trying to make this functionality as easy as possible to expand and reuse in the
future.
2018-02-13 16:03:38 -07:00
Florian Quèze
f3ee8dd20b Bug 1433175 - more aggressive scripted patch to replace remaining Components.classes, Components.interfaces, Components.utils and Components.results uses with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:35 +01:00