Граф коммитов

1782 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond c27972ceb6 Bug 1544105 - Part 2. Add new gfx driver vendor field to telemetry and about:support. r=jrmuizel,chutten,flod data-r=bmiroglio
Expose the driver vendor information (applies to Linux only at this
moment) to crash report telemetry and about:support. This will be useful
when debugging issues to know specifically what driver is in use.

Also expose the monitor information for Linux. Part 1 provides an
implementation to get the monitor information on said platform.

Differential Revision: https://phabricator.services.mozilla.com/D29472
2019-05-03 11:16:59 -04:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Brian Grinstead 08992fb8e8 Bug 1546501 - Remove unnecessary type attributes (i.e. [type="application/javascript"]) on non-test script tags r=mossop
This is an autogenerated commit, generated with https://bug1546501.bmoattachments.org/attachment.cgi?id=9060222

Differential Revision: https://phabricator.services.mozilla.com/D28559

--HG--
extra : moz-landing-system : lando
2019-04-24 19:43:57 +00:00
Gabriele Svelto f8519d8324 Bug 1542581 - Block child process termination until the handler is fully initialized r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27231

--HG--
extra : moz-landing-system : lando
2019-04-17 18:55:14 +00:00
Gabriele Svelto ea01f0aed2 Bug 1386760 - Remove the ExecutableName annotation r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27885

--HG--
extra : moz-landing-system : lando
2019-04-17 14:05:42 +00:00
Nathan Froyd fdb04b3990 Bug 1544431 - Turn the fixes in bug 1539574 and bug 524410 into breakpad patches r=froydnj
Moved changes to the non-forked part of breakpad living under
toolkit/crashreporter/google-breakpad into separate patches that are applied
by update-breakpad.sh when synchronizing with upstream breakpad. Because we
landed the commits directly to the sources every time we called
update-breakpad.sh those changes would be reverted.

Differential Revision: https://phabricator.services.mozilla.com/D27682

--HG--
extra : moz-landing-system : lando
2019-04-17 09:29:55 +00:00
Sylvestre Ledru 7f60810d86 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D27245

--HG--
extra : moz-landing-system : lando
2019-04-12 13:14:25 +00:00
Gabriele Svelto 94d70e0739 Bug 1538810 - Updated breakpad's curl and musl headers r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26489

--HG--
extra : moz-landing-system : lando
2019-04-09 16:04:25 +00:00
Gabriele Svelto 430b96c517 Bug 1538810 - Update breakpad to upstream revision 4d550cceca107f36c4bc1ea1126b7d32cc50f424 r=froydnj
This includes improvements to the Linux exception handler that will provide
crash addresse for a number of signals by reading the NT_SIGINFO structure and
quites warnings in a number of files. This also removes an unused header.

Differential Revision: https://phabricator.services.mozilla.com/D26488

--HG--
extra : moz-landing-system : lando
2019-04-09 16:04:24 +00:00
Martin Stransky e1d04ebd15 Bug 1433685 - Remove nsGConfService, r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26484

--HG--
extra : moz-landing-system : lando
2019-04-10 10:18:14 +00:00
Nathan Froyd a18df6e1a4 Bug 524410 - part 5 - merge adjacent line records where possible; r=gsvelto
After replacing precise line information from .debug_line with coarse
line information from DW_AT_call_{file,line}, it's very likely that
adjacent line records actually refer to identical file and line
numbers.  Such adjacent records are not really useful and take up more
space than they should in the symbol file.  We might as well merge them
and save ourselves some space.

Differential Revision: https://phabricator.services.mozilla.com/D25473

--HG--
extra : moz-landing-system : lando
2019-04-05 16:35:10 +00:00
Nathan Froyd 0bc682f0a1 Bug 524410 - part 4 - look through lexical block DIEs where appropriate; r=gsvelto
DW_TAG_subprogram DIEs sometimes have child DW_TAG_lexical_block DIEs
which in turn contain child DW_TAG_inlined_subroutine DIEs that we woud
like to look at.  If we skip the DW_TAG_inlined_subroutine DIEs, we miss
important information.  We therefore need to look through the
DW_TAG_lexical_block DIEs to find the DIEs that we are interested in.

Depends on D25471

Differential Revision: https://phabricator.services.mozilla.com/D25472

--HG--
extra : moz-landing-system : lando
2019-04-05 16:35:10 +00:00
Nathan Froyd 9deb471fc5 Bug 524410 - part 3 - replace line information for inlined functions; r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25471

--HG--
extra : moz-landing-system : lando
2019-04-05 16:35:09 +00:00
Nathan Froyd 52be053c0b Bug 524410 - part 2 - parse DW_TAG_inlined_subroutine DIEs; r=gsvelto
We record the file and line that these subroutines were inlined from.
We'll use that information to provide more coarse-grained line
information in the next patch.

Depends on D25469

Differential Revision: https://phabricator.services.mozilla.com/D25470

--HG--
extra : moz-landing-system : lando
2019-04-05 16:35:09 +00:00
Nathan Froyd d648debc54 Bug 524410 - part 1 - extract file information out of .debug_line parsing; r=gsvelto
The DW_AT_call_file attributes that we eventually want to parse from
DW_TAG_inlined_subroutine DIEs refer to the file name table stored in
the .debug_line section.  To resolve those DW_AT_call_file attributes,
we need access to that table after parsing of the appropriate
.debug_line bits is done.  This patch adds support for extracting that
information from the .debug_line parsing process.

Differential Revision: https://phabricator.services.mozilla.com/D25469

--HG--
extra : moz-landing-system : lando
2019-04-05 16:35:09 +00:00
Andrew McCreight 1b901ff2db Bug 1542024 - Eliminate nsXPCWrappedJSClass by moving its methods into nsXPCWrappedJS. r=bzbarsky
I changed DelegatedQueryInterface and CallMethod to be non-static
methods rather than taking an explicit |self| parameter.

There is already a method nsXPCWrappedJS::CallMethod() with the same
signature, but it is a shim, so I inlined it into the version in
XPCWrappedJSClass.cpp.

I also fixed up a few comments that mention nsXPCWrappedJSClass.

The new comments starting with "We now need to enter the realm" were
written by Boris, and are a little more explicit so they are easier to
understand.

I renamed DebugDump() to DebugDumpInterfaceInfo() to be more
informative.

Differential Revision: https://phabricator.services.mozilla.com/D26422

--HG--
extra : moz-landing-system : lando
2019-04-08 21:39:27 +00:00
Ciure Andrei 3ff6ff6d6f Backed out changeset 5937ad352b2d (bug 1542024) for perma failing 406106-1.html CLOSED TREE 2019-04-09 00:12:32 +03:00
Andrew McCreight ccc11f67db Bug 1542024 - Eliminate nsXPCWrappedJSClass by moving its methods into nsXPCWrappedJS. r=bzbarsky
I changed DelegatedQueryInterface and CallMethod to be non-static
methods rather than taking an explicit |self| parameter.

I did a tiny bit of cleanup in the nsIXPConnectJSObjectHolder case of
DelegatedQueryInterface().

There is already a method nsXPCWrappedJS::CallMethod() with the same
signature, but it is a shim, so I inlined it into the version in
XPCWrappedJSClass.cpp.

I also fixed up a few comments that mention nsXPCWrappedJSClass.

The new comments starting with "We now need to enter the realm" were
written by Boris, and are a little more explicit so they are easier to
understand.

I renamed DebugDump() to DebugDumpInterfaceInfo() to be more
informative.

Differential Revision: https://phabricator.services.mozilla.com/D26422

--HG--
extra : moz-landing-system : lando
2019-04-08 19:44:45 +00:00
Sylvestre Ledru 03fc65347c Bug 1542146 - Apply the change with the option StatementMacros from clang-format-8 r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26280

--HG--
extra : moz-landing-system : lando
2019-04-05 21:42:17 +00:00
Sylvestre Ledru 03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
Randall E. Barker f0ff77d732 Bug 1541285 - Set CrashGenerationServer thread name for Linux and Android r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25983

--HG--
extra : moz-landing-system : lando
2019-04-05 20:14:21 +00:00
Csoregi Natalia ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu 24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru 399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D26098

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Nicholas Nethercote f74cda17d3 Bug 1541269 - Make OnChildProcessDumpRequested() the same on all platforms. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25884

--HG--
extra : moz-landing-system : lando
2019-04-03 18:54:04 +00:00
Ciure Andrei 4116e08315 Merge inbound to mozilla-central. a=merge 2019-04-04 07:34:14 +03:00
Ciure Andrei 58c8915ecd Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-04-04 00:57:38 +03:00
Jan Varga 0269846741 Bug 1540668 - IDB: Add a timer for ShutdownWorkThreads; r=asuth, dr=chutten
Differential Revision: https://phabricator.services.mozilla.com/D25745
2019-04-02 13:16:55 +02:00
Christoph Kerschbaumer 6094ee4dde Bug 1541161: Use MOZ_DIAGNOSTIC_ASSERT and return error in loadinfo is null within NewChannelFromURIWithProxyFlagsInternal. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D25917

--HG--
extra : moz-landing-system : lando
2019-04-03 12:51:51 +00:00
Mark Banner dba6983e75 Bug 1415265 - Remove now unnecessary .eslintrc.js files or entries. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D23850

--HG--
extra : moz-landing-system : lando
2019-03-28 09:38:14 +00:00
Nathan Froyd 9c36ce5059 Bug 1539574 - parse ELF symbols before DWARF symbols in dump_syms; r=gsvelto
Module::AddFunction assumes that any time we add a function, it is
preferable to use that instead of the corresponding external
symbol (which could be anything).  The former show up in Breakpad symbol
files as FUNC lines, and the latter as PUBLIC lines.

For Module::AddFunction to be effective, we have to parse all the
external symbols for a module first, and then discover all the actual
functions.  But the Linux symbol dumping code does the reverse: it first
parses all the DWARF information (including .debug_info, which adds any
relevant functions) and then parses the ELF symbol table.  This ordering
means that we wind up emitting PUBLIC lines for which corresponding FUNC
lines already exist.  These duplicate PUBLIC lines take up roughly 10%
of the size of a libxul symbol file (~30MB), and are completely unnecessary.

The fix is simple: we should reverse the order in which we parse ELF
symbols and DWARF debug information.

Differential Revision: https://phabricator.services.mozilla.com/D25116

--HG--
extra : moz-landing-system : lando
2019-03-27 21:41:30 +00:00
Christoph Kerschbaumer 6417ca1ace Bug 1537883: Dump JS Stacktace in case aPrincipal is null within nsIOService::SpeculativeConnectInternal. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D24704

--HG--
extra : moz-landing-system : lando
2019-03-25 14:08:13 +00:00
Nicholas Nethercote a955ca9592 Bug 1535226 - Remove uses of XP_WIN32 in Gecko. r=glandium
The definitions can't be entirely removed yet because NSS still needs them.

Differential Revision: https://phabricator.services.mozilla.com/D23454

--HG--
extra : moz-landing-system : lando
2019-03-21 01:28:50 +00:00
Edwin Gao 233a502fa2 Bug 1536217 - disable tests in toolkit/crashreporter/test/unit and toolkit/crashreporter/test/unit_ipc r=jmaher
Disable tests as they fail constantly on xpcshell-8 on windows10-aarch64.

Bug 1536221 is filed for investigating why the crashreporter tests still fail.

Differential Revision: https://phabricator.services.mozilla.com/D23940

--HG--
extra : moz-landing-system : lando
2019-03-19 11:15:18 +00:00
David Major e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

Differential Revision: https://phabricator.services.mozilla.com/D22588

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
David Major 56ea434680 Bug 1528074 - Translate MSVC warning flags to clang spelling where supported r=froydnj
clang-cl only acts on five MSVC warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

With MSVC now unsupported, most -wdNNNN have no effect and can be removed.

This patch converts the five supported warnings to their clang spellings, as preparation for a subsequent patch that will remove all remaining `[/-]w[edo][0-9]{4}`.

Differential Revision: https://phabricator.services.mozilla.com/D22582

--HG--
extra : moz-landing-system : lando
2019-03-11 01:39:42 +00:00
Dorel Luca 64e7174bf2 Backed out changeset b171bfdb308f (bug 1529355) for build bustage 2019-02-22 17:14:45 +02:00
Nathan Froyd 89b49a32bd Bug 1529355 - emit STACK CFI lines for aarch64 windows; r=gsvelto
aarch64 windows uses a custom unwind information format to describe
how to unwind from within functions.  We need to parse that
information to describe to Breakpad how to unwind stacks for minidump
analysis.

Differential Revision: https://phabricator.services.mozilla.com/D20541

--HG--
extra : moz-landing-system : lando
2019-02-22 12:58:15 +00:00
David Major 5e9dad8ee0 Bug 1528304 - Update max memory recording regions. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D19960

--HG--
extra : moz-landing-system : lando
2019-02-15 19:12:32 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Jed Davis cb0091487b Bug 1472589 - Fix parent process crash reporting in the Snap package environment. r=ted,jlorenzo
1. The unsetting of LD_LIBRARY_PATH is removed, because it's no longer
necessary and interferes with environments where it's necessary to find
"system" libraries like GTK; see bug 1472589 comment #1 through #4.

2. The Snap package manifest adds a dependency on the libcurl package,
so that the crash reporter can send the report.  This uses the GnuTLS
variant because we're already pulling in GnuTLS as a dependency of some
other packages (FFmpeg and CUPS, but also the non-GnuTLS cURL packages
depend on it anyway via OpenLDAP).

Differential Revision: https://phabricator.services.mozilla.com/D18625

--HG--
extra : moz-landing-system : lando
2019-02-11 13:49:35 +00:00
David Major 6c02212227 No bug - clean up redundant ifdef in nsExceptionHandler.cpp. DONTBUILD 2019-02-07 10:23:34 -05:00
inspiro afe6c5fe8f Bug 1522078 - Changed wrap-mode of GtkTextView widget to GTK_WRAP_CHAR. r=gsvelto
Bug 1522078 - Changed wrap-mode of GtkTextView widget to GTK_WRAP_CHAR.

Differential Revision: https://phabricator.services.mozilla.com/D18512

--HG--
extra : moz-landing-system : lando
2019-02-05 05:01:21 +00:00
Gabriele Svelto 67c71cede9 Bug 1518947 - Update breakpad to revision 44384d80b32a5bb361c2ec3bee667f7ccee566d7 r=ted
This includes some assorted fixes from upstream plus an adaptation of the
patch in b988fa74ec18de6214b18f723e48331d9a7802ae which includes heap memory
regions in the minidump. Since our support for that is more extensive than
upstream breakpad the resulting change reflects this. Last but not least the
fixes for bug 1489094 and bug 1511140 were split out as patches to be applied
to the unmodified breakpad sources. They will be reintegrated as soon as we
fork breakpad for good.

Differential Revision: https://phabricator.services.mozilla.com/D16326

--HG--
extra : moz-landing-system : lando
2019-01-31 15:50:54 +00:00
Sylvestre Ledru 8181a46381 Bug 1524194 - Do not add stack pointer to clobber list r=ted
Cherry-pick upstream patch to address a build issue with gcc 9

https://chromium.googlesource.com/linux-syscall-support/+/8048ece6c16c91acfe0d36d1d3cc0890ab6e945c

Differential Revision: https://phabricator.services.mozilla.com/D18284

--HG--
extra : moz-landing-system : lando
2019-02-01 11:37:06 +00:00
Myk Melez 25349d2601 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526

--HG--
extra : moz-landing-system : lando
2019-01-30 17:26:25 +00:00
Sebastian Hengst 9ece29fd9b Merge mozilla-central to autoland. CLOSED TREE 2019-01-29 12:59:48 +02:00
Mike Hommey 4913b1c2d2 Bug 1523204 - Streamline the DIA SDK setup. r=chmanchester
We currently rely on WIN_DIA_SDK_BIN_DIR being passed, but we can
actually derive it from the DIA SDK directory. So we now do that, except
when it's given explicitly.

While in the vicinity, move the dia2.h check to python configure.

With WIN_DIA_SDK_BIN_DIR being derived and not set when dia2.h is not
found, we don't really need MSVC_HAS_DIA_SDK anymore, so we just check
for WIN_DIA_SDK_BIN_DIR to determine whether to build dump_syms or not.

One exception to the above is when WIN_DIA_SDK_BIN_DIR is passed in,
which we only keep for the in-tree mozconfigs for now. We'll remove that
possibility after bug 1523201.

Depends on D17892

Differential Revision: https://phabricator.services.mozilla.com/D17893

--HG--
extra : moz-landing-system : lando
2019-01-29 07:38:14 +00:00
Mike Hommey 95cdfbcd30 Bug 1523204 - Automatically add WIN_DIA_SDK_BIN_DIR to PATH when running dump_syms. r=chmanchester
We can't run dump_syms without the DIA SDK binary directory in $PATH
because dump_syms requires the DIA dll from there.

Obviously, the corresponding test can't run if the DIA SDK binary
directory is not known (rather than when the dia2.h header is not found,
since the build system currently relies on WIN_DIA_SDK_BIN_DIR being
given manually).

Differential Revision: https://phabricator.services.mozilla.com/D17892

--HG--
extra : moz-landing-system : lando
2019-01-29 07:38:12 +00:00
Kris Maglione e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Aaron Klotz 8c0ca384fa Bug 1517637: Add launcher process state to crash report annotations; r=mhowell
Depends on D15759

Differential Revision: https://phabricator.services.mozilla.com/D15760

--HG--
extra : moz-landing-system : lando
2019-01-09 23:36:38 +00:00
Sebastian Hengst 2ecf173b14 Merge mozilla-central to autoland 2019-01-23 11:31:44 +02:00
Daosheng Mu 9e6fcbe92a Bug 1518895 - Part 2: Crash report support in VR process. r=kip,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D16759

--HG--
extra : moz-landing-system : lando
2019-01-23 01:22:39 +00:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D17139

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Gabriele Svelto bb6e8482fb Bug 1315935 - Remove the NumberOfProcessors crash annotation because it is redundant r=ted
Differential Revision: https://phabricator.services.mozilla.com/D16688

--HG--
extra : moz-landing-system : lando
2019-01-16 17:01:43 +00:00
David Major 9ed87684ba Bug 1484835 - Extend the Windows JIT unwind handler to ARM64 r=luke
Because the .xdata format on ARM64 can only encode sizes up to 1M (much too small for our JIT code regions), we register a function table callback to provide RUNTIME_FUNCTIONs at runtime. Windows doesn't seem to care about the size fields on RUNTIME_FUNCTIONs that are created in this way, so the same RUNTIME_FUNCTION can work for any address in the region. We'll set up a generic one in RegisterExecutableMemory and the callback can just return a pointer to it.

Differential Revision: https://phabricator.services.mozilla.com/D16261

--HG--
extra : moz-landing-system : lando
2019-01-14 14:06:24 +00:00
Mike Hommey 70f1ad55e1 Bug 1519307 - Add a new project to build useful parts of breakpad independently. r=froydnj
With `ac_add_options --enable-project=tools/crashreporter` in a
mozconfig, `./mach build` builds minidump_stackwalk, dump_syms
and fileid.

One caveat is that due to limitation in how the build system works
currently, it's cumbersome to keep dump_syms as a host program for
Gecko, and to make it a target program for this project. For now,
keep it as a host program. We're not going to use it on automation,
but it's still convenient to have for quick local builds (I've had
to resort to awful hacks downstream).

Differential Revision: https://phabricator.services.mozilla.com/D16299

--HG--
extra : moz-landing-system : lando
2019-01-11 16:01:15 +00:00
Gabriele Svelto a735a5580b Bug 1510574 - Remove shared memory segments from generated minidumps to cut down on the number of modules r=ted
Differential Revision: https://phabricator.services.mozilla.com/D16188

--HG--
extra : moz-landing-system : lando
2019-01-11 08:56:07 +00:00
Nathan Froyd d983955203 Bug 1518922 - part 2 - remove GetChildProcessTmpDir; r=gsvelto
After part 1, this function and the code associated with it is no longer
used.
2019-01-10 16:13:37 -05:00
Nathan Froyd a6f22e88be Bug 1514044 - part 2 - change CrashReporterHost to use GeckoProcessTypes.h; r=gsvelto 2019-01-10 10:52:51 -05:00
Jed Davis 47e47c7561 Bug 1487287 - Fix thread-safety of crash reporter pid map. r=gsvelto
Depends on D8945

Differential Revision: https://phabricator.services.mozilla.com/D15886

--HG--
extra : moz-landing-system : lando
2019-01-08 23:53:37 +00:00
Gabriele Svelto 8a2aee6162 Bug 1517730 - Enable the crash reporter by default on Windows/AArch64 builds r=ted
Differential Revision: https://phabricator.services.mozilla.com/D15763

--HG--
extra : moz-landing-system : lando
2019-01-09 22:39:22 +00:00
Ted Mielczarek 96349b53f8 bug 1392603 - Remove toolkit/crashreporter/tools/win32. r=gsvelto
We have prebuilt dump_syms binaries in toolkit/crashreporter/tools/win32 from
the days when we didn't build it as part of the build. There's one per MSVC
version, since the APIs it uses are version-specific, but we don't actually
support building with the MSVC versions corresponding to the binaries in that
directory anymore, so we should just remove them.

The only code change necessary here is changing the functional test to skip
running the test if a dump_syms binary isn't available.

MozReview-Commit-ID: IBuJZMVfv7C

Differential Revision: https://phabricator.services.mozilla.com/D15717

--HG--
extra : moz-landing-system : lando
2019-01-04 13:39:39 +00:00
Gabriele Svelto cb1e8ac83e Bug 1386760 - Add a crash annotation containing the last executable we launched r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D12643

--HG--
extra : moz-landing-system : lando
2019-01-02 14:54:58 +00:00
Ted Mielczarek 52c2dfe2bd bug 1515326 - properly map Rust standard library sources in symbol files. r=gsvelto
Since Rust 1.30 the Rust standard library is built with its source maps
remapped to start with "/rustc/<sha>/":
https://github.com/rust-lang/rust/pull/53829

This patch changes the source file mapping logic in symbolstore.py to match.

Differential Revision: https://phabricator.services.mozilla.com/D14991

--HG--
extra : moz-landing-system : lando
2018-12-19 20:21:18 +00:00
Mike Hommey ad64da67ba Bug 1514435 - Always hook rust OOM handler. r=froydnj
And do that as early as possible.

Differential Revision: https://phabricator.services.mozilla.com/D14666

--HG--
extra : moz-landing-system : lando
2018-12-15 17:45:17 +00:00
Cameron McCormack e8db2c5f88 Bug 1194856 - Remove UA style sheet load crash report annotations r=gsvelto,dbaron
This backs out the main patch landed earlier in bug 1194856 and the
patch from bug 1225004.

Differential Revision: https://phabricator.services.mozilla.com/D14050

--HG--
extra : moz-landing-system : lando
2018-12-15 00:02:56 +00:00
Mike Hommey 7864034d32 Bug 1514209 - Enable the crashreporter code on Windows arm64 builds. r=froydnj
But keep the crashreporter disabled at runtime because it doesn't work
yet.

This has the side effect of creating the artifacts with the
crashreporter symbols and pdbs.

Differential Revision: https://phabricator.services.mozilla.com/D14550

--HG--
extra : moz-landing-system : lando
2018-12-14 14:50:30 +00:00
Gabriele Svelto a965a67574 Bug 1489094 - Properly demangle build-specific LLVM signatures on Windows r=ted
Differential Revision: https://phabricator.services.mozilla.com/D14387

--HG--
extra : moz-landing-system : lando
2018-12-14 10:01:14 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Sylvestre Ledru a6f96535e9 Bug 1511140 - Declare PRINT_MACH_RESULT only once r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D13458

--HG--
extra : moz-landing-system : lando
2018-11-29 20:21:29 +00:00
Ehsan Akhgari 490e611801 Bug 1508472 - Part 5: Fifth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal. I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

Differential Revision: https://phabricator.services.mozilla.com/D13371

--HG--
extra : moz-landing-system : lando
2018-11-29 10:30:46 +00:00
Gabriele Svelto 90e6b65263 Bug 1502977 - Reinstate the code blocking the "Facebook Photo Uploader" plugin on Mac and update the associated annotation r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D12354

--HG--
extra : moz-landing-system : lando
2018-11-28 18:52:41 +00:00
Gabriele Svelto 70a27fb574 Bug 1497669 - Relax breakpad's constraints when merging module mappings on Linux r=ted
This makes a few small but significant changes to the logic breakpad uses to
merge module memory mappings:

- First of all we merge areas of reserved space if their offset is either 0 or
  the end of the previous non-reserved mapping.
- Whenever we encounter an executable mapping we flag all the merged modules
  as executable. This shouldn't happen but apparently some older Android
  linkers suffered from a bug that caused the first mapping not to be
  executable.
- Last but not least we record the raw end address of a module on Android.
  This shouldn't affect us but it's done in upstream breakpad so it probably
  doesn't hurt.

Differential Revision: https://phabricator.services.mozilla.com/D12113

--HG--
extra : moz-landing-system : lando
2018-11-16 22:43:32 +00:00
Nathan Froyd 2d4164f33f Bug 1506138 - fix minidump_callback.h for aarch64 windows; r=ted.mielczarek 2018-11-16 10:49:13 -05:00
Mike Hommey 6bf4eb5bce Bug 1496503 - Install the rust panic hook early. r=froydnj
Previously, our panic hook was only really useful when the crash
reporter is used, because all it did apart from calling rust's default
panic handler was to keep a pointer to the panic message for the crash
reporter.

Now that it just redirects to the Gecko crash code, it doesn't need to
be tied to the crash reporter. In fact, to ensure it's consistently used
in all cases, we ought to install it early on. Use a static initializer
for that.

Depends on D11720

Depends on D11720

Differential Revision: https://phabricator.services.mozilla.com/D11721

--HG--
extra : moz-landing-system : lando
2018-11-14 22:35:35 +00:00
Mike Hommey 1c6d1f8586 Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-14 22:35:33 +00:00
Michael Froman 284be56116 Bug 1471535 - pt8 - Add RDD process code. r=jld
Depends on D8489

Differential Revision: https://phabricator.services.mozilla.com/D8490

--HG--
extra : moz-landing-system : lando
2018-11-14 18:06:24 +00:00
Dorel Luca 00c7bf05f9 Backed out 4 changesets (bug 1496503) for Valgrind bustage. CLOSED TREE
Backed out changeset 033a89b3e00d (bug 1496503)
Backed out changeset a0f255b660ce (bug 1496503)
Backed out changeset 963d8ac1cfee (bug 1496503)
Backed out changeset 43e44f8439ec (bug 1496503)
2018-11-14 19:00:29 +02:00
Mike Hommey abd27af4c4 Bug 1496503 - Install the rust panic hook early. r=froydnj
Previously, our panic hook was only really useful when the crash
reporter is used, because all it did apart from calling rust's default
panic handler was to keep a pointer to the panic message for the crash
reporter.

Now that it just redirects to the Gecko crash code, it doesn't need to
be tied to the crash reporter. In fact, to ensure it's consistently used
in all cases, we ought to install it early on. Use a static initializer
for that.

Depends on D11720

Differential Revision: https://phabricator.services.mozilla.com/D11721

--HG--
extra : moz-landing-system : lando
2018-11-14 08:46:07 +00:00
Mike Hommey 6345b0d7d9 Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-14 08:46:51 +00:00
Coroiu Cristina d0047119b0 Backed out 4 changesets (bug 1496503) for xpcshell failures at toolkit/crashreporter/test/unit/test_crash_rust_panic.js on a CLOSED TREE
Backed out changeset cfeee3d5ed6a (bug 1496503)
Backed out changeset 164a5a49fd25 (bug 1496503)
Backed out changeset d0b6c1fc149d (bug 1496503)
Backed out changeset bfb4ee856c71 (bug 1496503)
2018-11-14 09:00:06 +02:00
Mike Hommey dfc58833c0 Bug 1496503 - Install the rust panic hook early. r=froydnj
Previously, our panic hook was only really useful when the crash
reporter is used, because all it did apart from calling rust's default
panic handler was to keep a pointer to the panic message for the crash
reporter.

Now that it just redirects to the Gecko crash code, it doesn't need to
be tied to the crash reporter. In fact, to ensure it's consistently used
in all cases, we ought to install it early on. Use a static initializer
for that.

Depends on D11720

Differential Revision: https://phabricator.services.mozilla.com/D11721

--HG--
extra : moz-landing-system : lando
2018-11-13 23:50:37 +00:00
Mike Hommey 38dc94b5eb Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-13 23:48:40 +00:00
Mike Hommey 44eab55be8 Bug 1506027 - Remove remaining (now useless) MOZ_WIDGET_GTK >= 3 tests. r=karlt
Those are leftovers from bug 1278282.

Differential Revision: https://phabricator.services.mozilla.com/D11434

--HG--
extra : moz-landing-system : lando
2018-11-09 08:44:42 +00:00
Bogdan Tara fc8134a16a Backed out 12 changesets (bug 1471535) for VideoDecoderChild failures CLOSED TREE
Backed out changeset 3d8a11458d79 (bug 1471535)
Backed out changeset 2176010bc1fe (bug 1471535)
Backed out changeset dfb4d3462b22 (bug 1471535)
Backed out changeset ea6b73ded74d (bug 1471535)
Backed out changeset 404d760a9e82 (bug 1471535)
Backed out changeset 28ae4b6fab68 (bug 1471535)
Backed out changeset af91e1f04c2d (bug 1471535)
Backed out changeset d39fef4334b3 (bug 1471535)
Backed out changeset a038821cd8ae (bug 1471535)
Backed out changeset 5dcc74a938c6 (bug 1471535)
Backed out changeset 53aff7e699b4 (bug 1471535)
Backed out changeset f3f6abc052f0 (bug 1471535)

--HG--
rename : dom/media/ipc/GpuDecoderModule.cpp => dom/media/ipc/RemoteVideoDecoder.cpp
rename : dom/media/ipc/GpuDecoderModule.h => dom/media/ipc/RemoteVideoDecoder.h
2018-11-13 23:31:56 +02:00
Michael Froman 641479cf44 Bug 1471535 - pt8 - Add RDD process code. r=jld
Depends on D8489

Differential Revision: https://phabricator.services.mozilla.com/D8490

--HG--
extra : moz-landing-system : lando
2018-11-13 17:35:44 +00:00
Sylvestre Ledru 2b4847d320 Bug 1506538 - Remove +x permissions on C++ source files r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D11609

--HG--
extra : moz-landing-system : lando
2018-11-13 15:32:08 +00:00
Gabriele Svelto f82e921ebc Bug 1505007 - Do not truncate ELF identifiers on Android r=ted
This also refactors the surrounding code for better readability and removes
some duplicate code.

Differential Revision: https://phabricator.services.mozilla.com/D11030

--HG--
extra : moz-landing-system : lando
2018-11-09 11:09:03 +00:00
Dorel Luca cb089b0bc4 Backed out 9 changesets (bug 1471535) for Mochitest failures in build/src/dom/media/ipc/VideoDecoderChild.cpp
Backed out changeset 1342e21cf613 (bug 1471535)
Backed out changeset 8dc9b4d59f90 (bug 1471535)
Backed out changeset 8082f226b52d (bug 1471535)
Backed out changeset f53e1e7bd538 (bug 1471535)
Backed out changeset 1a991ac2e1f8 (bug 1471535)
Backed out changeset a32288737e57 (bug 1471535)
Backed out changeset a094c1ac3afe (bug 1471535)
Backed out changeset fe9b5cdf78f9 (bug 1471535)
Backed out changeset 3a8a75389c42 (bug 1471535)
2018-11-09 12:14:50 +02:00
Michael Froman 3473fba74d Bug 1471535 - pt8 - Add RDD process code. r=jld
Depends on D8489

Differential Revision: https://phabricator.services.mozilla.com/D8490

--HG--
extra : moz-landing-system : lando
2018-11-08 03:47:22 +00:00
Errolyn 9d733870ab Bug 1493192: Flip order of sent/unsent crashes on about:crashes r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D10526

--HG--
extra : moz-landing-system : lando
2018-11-02 19:20:06 +00:00
Gabriele Svelto 73c1880648 Bug 1502534 - Add the telemetry session ID to content crash pings r=ted
Differential Revision: https://phabricator.services.mozilla.com/D10313

--HG--
extra : moz-landing-system : lando
2018-10-31 10:46:14 +00:00
Gabriele Svelto 5ae7a8becf Bug 1498609 - Annotate crash pings to include ECC memory support (or lack of) r=ted
Differential Revision: https://phabricator.services.mozilla.com/D8587

--HG--
extra : moz-landing-system : lando
2018-10-24 08:22:42 +00:00
Masatoshi Kimura f38cdcfbf1 Bug 1496179 - Make mozglue.dll a private SxS assembly. r=aklotz,froydnj
SxS assemblies do not obey the usual DLL search order. It will make it possible
to load mozglue.dll from appdir even if the PreferSystem32Images mitigation is
enabled and System32 has a random mozglue.dll.
2018-10-10 22:57:53 +09:00
Doug Thayer 4082d8209d Bug 1388134 - Defer load of OS.Constants.Path members r=gsvelto
In bug 1388134 we're lazifying some members of OS.Constants.Path
to avoid the extra startup IO. userApplicationDataDir is ripe for
being made lazy, except it's read early in CrashManager.jsm. This
defers that until it's used, and adjusts the affected tests.

Depends on D6079

Differential Revision: https://phabricator.services.mozilla.com/D6080

--HG--
extra : moz-landing-system : lando
2018-10-17 17:36:37 +00:00
Stephen A Pohl 365861ebc3 Bug 1498433: Ensure that crash reporter is in the foreground and focused on macOS. r=mstange 2018-10-12 22:46:40 -04:00
Gabriele Svelto de11ac9e19 Bug 1497692 - Lower the minidump-analyzer priority r=ted
Differential Revision: https://phabricator.services.mozilla.com/D8242

--HG--
extra : moz-landing-system : lando
2018-10-12 14:50:16 +00:00