Commit Graph

1746 Commits

Author SHA1 Message Date
Christoph Kerschbaumer
4c50a83f11 Bug 1497195: Apply Meta CSP to about:crashes.
Differential Revision: https://phabricator.services.mozilla.com/D34125

--HG--
extra : moz-landing-system : lando
2019-06-07 09:50:48 +00:00
Nicholas Nethercote
f6f463d037 Bug 1556891 - Remove unused defines from nsExceptionHandler.cpp. r=gsvelto
Depends on D33737

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

--HG--
extra : moz-landing-system : lando
2019-06-05 06:42:52 +00:00
Nicholas Nethercote
6a60a35c6e Bug 1556891 - Remove base argument from XP_TTOA and XP_STOA. r=gsvelto
It's ignored on non-Windows platforms, and all callsites use 10.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 06:43:19 +00:00
Gabriele Svelto
76021a664b Bug 1555917 - Exception handler and crash reporter client cleanup r=froydnj
This patch includes multiple changes cleaning up various aspects of the crash
reporter client and exception handler:

* Some Unix-specific code was moved out from the base crashreporter client
  code and into the appropriate platform implementation
* Functions used to open files in the crashreporter client now accept C++
  `std::ios` flags instead of unreadable booleans
* Useless character conversion routines were removed from the
  minidump-analyzer
* Crash annotations are not serialized into a huge string anymore every time
  they change. They are all written out individually during an exception.
* `WriteEscapedMozCrashReason()` uses the exception-safe `my_strlen()` instead
  of plain `strlen()`
* The Windows-specific DLL-blocklist shutdown was removed from the Linux &
  macOS Breakpad callbacks
* The `CrashReporterHost`, `CrashReporterClient` and
  `CrashReporterMetadataShmem` classes now take `nsACString` references
  instead of `nsCString` ones since they never modify their contents

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

--HG--
extra : moz-landing-system : lando
2019-05-31 21:54:03 +00:00
Andrew Osmond
fd0fefd13a Bug 1554540 - Expose window protocol (X11, Wayland) in nsIGfxInfo and about:support. r=kats,stransky,flod
Differential Revision: https://phabricator.services.mozilla.com/D32651
2019-05-28 06:40:34 -04:00
Gabriele Svelto
a7067c8900 Bug 1553226 - Don't attempt to read annotations associated with Flash process crashes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32133

--HG--
extra : moz-landing-system : lando
2019-05-22 13:04:41 +00:00
Gabriele Svelto
207d6d9722 Bug 1544881 - Ignore empty ranges when parsing DW_TAG_inlined_subroutine tags as they break the assumptions required during line assignment r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31764

--HG--
extra : moz-landing-system : lando
2019-05-20 11:49:40 +00:00
Gabriele Svelto
6b8e7aca2f Bug 1547698 - Reorganize the code used to write the annotations upon a main process crash r=froydnj
Annotation on main process crashes are written to both the .extra file
(for crash submission) and to the event file so that the browser can
detect the crash when restarting even if the crash report files have
been deleted.

This patch factorizes all the code that writes to both files, cutting
down all the duplicate calls, and fixes an issue with the
BreakpadReserveAddress and BreakpadReserveSize annotations which were
not written to the event file.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 16:19:57 +00:00
Gabriele Svelto
9f9c7c8211 Bug 1547698 - Refactor the code that writes the .extra file for a content process crash or hang r=froydnj
Upon a content process crash or hang crash annotations were incrementally
written into the .extra file starting with the exception handler callback and
then in a number of different places before the file was ready for submission.
This had a number of downsides: since the annotations were directly added to
the file it was impossible to tell which ones were already written at a
certain point in time, additionally some were written twice or even thrice.
The code doing the writing would also behave differently depending on the
contents of the file, the parameters passed to it and the contents of global
variables.

This change overhauls the whole process by keeping the annotations into a
temporary per-crash annotation table which is filled with all the required
annotations before being written out in a single pass when they are ready.

The annotations are gathered from the main process annotation table, the
per-process one (held by the CrashReporterHost) and exception-time specific
ones.

The resulting annotations are slightly different than before the patch: first
of all there are no more duplicate entries in the .extra file and secondly all
content/plugin process hangs annotations are properly filtered, before
annotations that were main process-only would leak into them.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 16:19:55 +00:00
Gabriele Svelto
ac81f9bda7 Bug 1547698 - Remove unused and non-public bits from the exception handler r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31066

--HG--
extra : moz-landing-system : lando
2019-05-15 13:09:31 +00:00
Andrew Osmond
3a7c78906a 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 18:26:06 -04:00
Mihai Alexandru Michis
25a6b02677 Backed out 2 changesets (bug 1544105) for leaks in mda tests and failing browser_Troubleshoot.js CLOSED TREE
Backed out changeset eca7ee42af96 (bug 1544105)
Backed out changeset a8cd879f02ce (bug 1544105)
2019-05-03 23:19:03 +03:00
Andrew Osmond
580726465f 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 15:03:28 -04:00
Daniel Varga
2b81f4d301 Backed out 2 changesets (bug 1544105) for build bustages. On a CLOSED TREE
Backed out changeset 215c2693d281 (bug 1544105)
Backed out changeset 16d5af6fd55c (bug 1544105)
2019-05-03 19:12:48 +03:00
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