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

1973 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 6b2fc90663 Bug 689178 - Remove crash-reporter hooks to externally provide library mappings. r=gsvelto
This is a rebase of a 7-year-old patch that was r=ted. The hooks are not
used as of bug 725231.

Differential Revision: https://phabricator.services.mozilla.com/D81026
2020-06-25 08:43:23 +00:00
Nika Layzell 54a0686fe2 Bug 1650204 - Add an AutoAnnotateCrashReport RAII helper, r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D82099
2020-07-06 13:26:51 +00:00
Gabriele Svelto 30236882af Bug 1649443 - When assembling a crash ping only store the modules that are referenced by the stack trace r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D81706
2020-07-02 06:57:30 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Sylvestre Ledru 68e6f06c65 Bug 1649071 - Replace the DISALLOW_COPY_AND_ASSIGN & DISALLOW_EVIL_CONSTRUCTORS macros with = delete; r=froydnj
Generated with:
./mach static-analysis check --checks="-*, modernize-replace-disallow-copy-and-assign-macro" --fix -j 10 <file>
and
./mach clang-format -p <file>
(as clang-apply-replacement doesn't reformat the change)

(with ~/.mozbuild/clang-tools/clang-tidy/bin/clang-tidy pointing to clang-tidy 11)

Differential Revision: https://phabricator.services.mozilla.com/D81489
2020-06-29 14:37:56 +00:00
Jared Wein 58d7169b20 Bug 1644544 - Annotate crash-stats reports with the enabled experimental features. r=gsvelto,Gijs,preferences-reviewers,mstriemer
Differential Revision: https://phabricator.services.mozilla.com/D80007
2020-06-26 06:03:09 +00:00
Dorel Luca 8118a1f339 Backed out 4 changesets (bug 1646423, bug 1644544, bug 1646178, bug 1648223) for browser-chrome failures in browser/components/preferences/tests/browser_basic_rebuild_fonts_test.js
Backed out changeset 48790fe7990a (bug 1648223)
Backed out changeset 2d52e80dd321 (bug 1646178)
Backed out changeset 5186e66006a4 (bug 1646423)
Backed out changeset 28d0dc323af8 (bug 1644544)
2020-06-26 08:59:45 +03:00
Jared Wein e23dc1af7e Bug 1644544 - Annotate crash-stats reports with the enabled experimental features. r=gsvelto,Gijs,preferences-reviewers,mstriemer
Differential Revision: https://phabricator.services.mozilla.com/D80007
2020-06-26 03:44:51 +00:00
Gabriele Svelto cbadcd16da Bug 1632080 - Stop sending orphaned crash reports with synthesized crash annotations r=mconley
We originally added this functionality in bug 1566855 because we were
seeing a significant amount of orphaned crashes not being submitted.
Notably some of these were early content process startup crashes and
missing them made us unaware of severe issues that would affect our
users. In the meantime we've addressed most of the cases where a crash
would be orphaned. Since the crashes submitted this way have a buildid
that does not match the version of Firefox that actually crashed they
can be confusing during crash triage.

Given the above we can safely remove this functionality. This patch
reverts most of the changes from bug 1566855 but leaves the test
refactorings in place.

Differential Revision: https://phabricator.services.mozilla.com/D78219
2020-06-05 06:32:24 +00:00
Roger Yang c524d44aa8 Bug 1635932 - Add Breadcrumbs annotation to a crash report. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D76182
2020-05-20 21:04:14 +00:00
Gabriele Svelto 06a240a0f3 Bug 1628399 - Make sure that the main process can't access a crash report before it's fully populated r=KrisWright
In bug 1614933 we changed the order in which the crash annotations are sent
from a crashed content process to the main process in order to prevent a
deadlock that would arise if the child process would block writing into the
pipe used to sent the annotations.

This unfortunately introduced a race that I had missed. Here's the sequence of
event when generating a crash in the child process:

1) The child process enters the exception handler
2) It requests a dump from the main process and wait
3) Once the dump is written, the child process wakes up again and writes out
   the crash annotations
4) The child process quits

One the main process side it looks like this:

1) The crash generation thread receives a request to generate a dump
2) The dump is written out, the crash generation thread notifies the content
   process that it can resume execution. During this step the finished
   minidump is recorded in the `OnChildProcessDumpRequested()` callback.
3) The crash generation thread reads the crash annotations sent by the content
   process and finalizes the crash report
4) The main process grabs the finalized crash report

The key issue here is that the main process in step 4 is woken up when the
content process dies. Notice how there's no synchronization between the crash
generation thread and the main thread in the main process: if the crash
generation thread takes too long reading the crash annotations the main thread
might see an incomplete or missing crash report; that's because the event that
wakes it up - the content process ending execution - can happen in parallel
with step 3.

This is an issue that was accidentally introduced in Windows by bug 1614933
but was already present in both Linux and macOS. It was just very unlikely to
happen.

This patch fixes the issue by splitting step 3 in the main process in two
different stages: in the main process we grab the generated minidump in
`OnChildProcessDumpRequested()`, Breakpad then unblocks the child process and
we read the annotations in `OnChildProcessDumpWritten()`. We grab the
`dumpMapLock` Mutex in the latter and release it in the former to ensure that
the main process will have to wait for the crash report to be finalized when
`TakeCrashedChildProcess()` is called. This might appear somewhat confusing
and even causes debug builds to spit a harmless warning (we don't want Mutexes
to be taken and released from different scopes if we can help it).

To implement the above behavior in Breakpad a new callback was introduced in
Windows, an existing one was used under macOS and an unused one was used under
Linux. This accounts for the different way in which minidumps are generated on
the three platforms.

Differential Revision: https://phabricator.services.mozilla.com/D74496
2020-05-18 20:34:48 +00:00
Nicklas Boman 4f2fa0cfa7 Bug 1515419 - fixing ToNewCString (and ToNewUnicode as well) xpcom/string/nsReadableUtils.cpp r=froydnj,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D17411
2020-05-17 06:58:48 +00:00
Greg V e65e9412b0 Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange
- supports amd64 and arm64 (aarch64)
- uses LUL for stack walking

Differential Revision: https://phabricator.services.mozilla.com/D73162
2020-05-06 17:44:19 +00:00
Ian Moody 011b59d595 Bug 1536556 - Replace raw thrown Cr.ERRORs with Components.Exception. r=mossop,remote-protocol-reviewers,marionette-reviewers,whimboo,necko-reviewers,geckoview-reviewers,valentin,agi
Raw Cr.ERROR don't get stack information, same as throwing JS literals instead
of `new Error()`s.

This was done automatically with a new eslint rule that will be introduced in
the next commit.  One instance of a raw Cr.ERROR was not replaced since it is
used in a test that specifically checks the preservation of raw Cr values in
XPCJS.  The rule will be disabled for that instance.

Differential Revision: https://phabricator.services.mozilla.com/D28073
2020-05-05 17:41:36 +00:00
Gabriele Svelto a5afe43f02 Bug 1498706 - Prevent the Breakpad exception handler from hanging a process instead of terminating it r=dmajor
This changes the way filter callbacks work in Breakpad so that the
Gecko-provided exception handler can instruct breakpad to just consider an
exception handled and terminate the process without further work. This change
is needed because when two threads enter the exception handler at the same
time the second can get stuck. The logic behind this is convoluted: when the
filter callback "accepts" an exception Breakpad will request minidump
generation and then notify Windows exception search mechanism that the
exception was handled. The process will terminate at this point. However if
a second thread enters the exception handler before this happens it will also
try to handle the exception, either by generating a minidump (prior to my fix
for bug 1434933) or by simply ignoring it (after bug 1434933). However under
both conditions Breakpad will consider the exception not handled and inform
Windows exception search logic to look for another handler. But we're already
at the top-level handler so Windows will try it again, and again, and again
... hanging the process instead of terminating it.

With this patch applied the first time we hit the exception handler we'll
request minidump generation and report the exception as handled. If we hit the
exception handler again we will not request minidump generation but we will
also report the exception as handled so that Windows can terminate the process
right away.

Differential Revision: https://phabricator.services.mozilla.com/D72493
2020-04-29 21:17:50 +00:00
Gijs Kruitbosch 3e3ce6cc06 Bug 1632264 - DONTBUILD really fix comment in browser_aboutCrashesResubmit.js
Differential Revision: https://phabricator.services.mozilla.com/D72811
2020-04-28 10:42:50 +00:00
Gijs Kruitbosch f2ee31dd92 Bug 1632264 - DONTBUILD fix comments in browser_aboutCrashesResubmit.js, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D72389
2020-04-27 20:36:32 +00:00
Andreea Pavel bb95dd40d7 Backed out changeset 22a9a0e02e69 (bug 1632264) on request on a CLOSED TREE DONTBUILD 2020-04-27 23:33:23 +03:00
Gijs Kruitbosch cddf5c0218 Bug 1632264 - fix comments in browser_aboutCrashesResubmit.js, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D72389
2020-04-27 20:07:32 +00:00
Stephen A Pohl 4be18f0f0e Bug 1578917: Force macOS Aqua appearance on for content processes, crash reporter and updater. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D70783
2020-04-24 18:37:57 +00:00
Gijs Kruitbosch 1c0a1c9f3e Bug 1631358 - remove traces of CPOWs from browser/, testing/ and toolkit/, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D71510
2020-04-21 14:05:35 +00:00
Gabriele Svelto a4daa08935 Bug 1434933 - Generate only one minidump for a crashing child process even when multiple threads trigger the exception handler (almost) at the same time r=KrisWright
This patch modifies exception handling in child processes so that no more than
one minidump will be requested in case of a crash - even when multiple threads
enter the exception handler almost simultaneously.

The fix is implemented by introducing an atomic flag that is set once we first
decide that the exception is a crashing one. All following threads entering
the exception handler will find the flag already set and give up.

This logic was added to the child process exception filters - callbacks that
breakpad invokes within the exception handler to decide whether to generate a
minidump or not. I factored out some of the affected code trying to make it a
bit more readable and a little bit less redundant than before.

Differential Revision: https://phabricator.services.mozilla.com/D71108
2020-04-17 20:08:59 +00:00
David Teller 03537d0231 Bug 1605209 - Annotate JSWindowActor's message exchanges to determine which actor is on the stack of a crash;r=gsvelto,nika
Differential Revision: https://phabricator.services.mozilla.com/D69993
2020-04-17 10:56:21 +00:00
Daniel Varga ca80197a2f Backed out 4 changesets (bug 1605209) for causing browser-chrome failures at dom/ipc/tests/JSWindowActor/browser_crash_report.js
CLOSED TREE

Backed out changeset 6eb1cc169dbf (bug 1605209)
Backed out changeset d81b566ad94f (bug 1605209)
Backed out changeset e0e6dbf1d48d (bug 1605209)
Backed out changeset 289f5bbac1ae (bug 1605209)
2020-04-17 13:49:04 +03:00
sumagnadas 74de3ae4a1 Bug 1622687 - toolkit/crashreporter/: Make it flake8 compliant r=gsvelto,rstewart
Made the files in toolkit/crashreporter flake8 compliant
And some finishing touches in the symbolstore.py file for readability

Differential Revision: https://phabricator.services.mozilla.com/D68691
2020-04-16 14:40:31 +00:00
David Teller a6bda985ed Bug 1605209 - Annotate JSWindowActor's message exchanges to determine which actor is on the stack of a crash;r=gsvelto,nika
Differential Revision: https://phabricator.services.mozilla.com/D69993
2020-04-16 08:27:01 +00:00
Jan Beich 25e565834b Bug 1629300 - Add back CreateNotificationPipeForChild for Tier3 after bug 1623961. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D70614

--HG--
extra : moz-landing-system : lando
2020-04-13 21:38:51 +00:00
Mike Hommey 0e36d45b8a Bug 1628927 - Convert symbolstore.py to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D70467

--HG--
extra : moz-landing-system : lando
2020-04-12 00:03:54 +00:00
Csoregi Natalia 8ed108064b Backed out changeset 789cef4e9c6d (bug 1628927) for symbol related bustage. CLOSED TREE 2020-04-11 04:31:34 +03:00
Mike Hommey e62d5e9a93 Bug 1628927 - Convert symbolstore.py to python 3. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D70467

--HG--
extra : moz-landing-system : lando
2020-04-10 21:42:18 +00:00
Gabriele Svelto 500082602d Bug 1627367 - Remove the content process crash annotation blacklist r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D70101

--HG--
extra : moz-landing-system : lando
2020-04-08 22:59:15 +00:00
Gabriele Svelto 969e685d94 Bug 1596210 - Prevent breakpad from spamming the log with error messages r=KrisWright
Setting breakpad minimum log severity level to CRITICAL should be enough to
quiet it completely since there are no statements in the code using it, the
"highest" I could find all use the ERROR level.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 20:28:14 +00:00
Gabriele Svelto 958361a3fb Bug 1614933 - Fix a deadlock in Breakpad crash generation on Windows; r=KrisWright
On Windows content process minidump generation goes through the following
steps:

* The child process exception handler invokes the `filter` callback. This is the
  `ChildFPEFilter()` function in nsExceptionHandler.cpp.
* If this callback returns true then the child process sends a request to the
  crash generation server living in the main process and then waits.
* The main process generates a minidump in response to this message.
* Once the minidump has been generated the crash generation server calls the
  `dump_callback` callback with the minidump filename. This is the
  `OnChildProcessDumpRequested()` function in nsExceptionHandler.cpp.
* Once this callback returns the main process signals the child process that
  it has finished generating the dump.
* The child process resumes execution in the exception handler and then
  terminates.

During this process we send crash annotations via a pipe from the child
process to the main process. The function responsible for this is
`PrepareChildExceptionTimeAnnotations()` in nsExceptionHandler.cpp and it's
called within `ChildFPEFilter()`. Because pipe writes are blocking if we send
enough annotations to fill the pipe buffer then the child process will get
stuck in `ChildFPEFilter()` and never request a dump from the main process. Thus
the content process will never shut down and the main process will never see
that it has crashed, it will only appear indefinitely stuck.

To solve this issue a few changes are necessary:

* The crash annotations are not sent from the `filter` callback, they are sent
  from the `minidump` callback which we did not use before. This callback is
  executed in the child process **after** signaling the main process.
* This is not enough to prevent the deadlock though, because the content
  process will still wait before the parent process has responded before
  invoking this new callback. The parent process on the other hand will
  generate the minidump and then call `OnChildProcessDumpRequest()` which will
  wait to read the annotations sent by the child process. Thus both processes
  would be stuck. To solve this other issue we change the order in which the
  parent process responds: instead of invoking the `dump_callback` first and
  then signaling the child process it does the opposite.

I've also added a new test that covers two separate issues solved by this
patch-set: that we don't deadlock when writing too much data (this issue) and
that we don't fail to send an annotation if it's too large (previously the
shared memory buffer was 16KiB in size so this annotation wouldn't fit).

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

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:41 +00:00
Gabriele Svelto 2bc88d71e0 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:40 +00:00
Chris Peterson d6d50e8392 Bug 1627496 - Replace MOZ_MUST_USE with [[nodiscard]] in toolkit/crashreporter. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D69740

--HG--
extra : moz-landing-system : lando
2020-04-05 06:45:04 +00:00
Gabriele Svelto 76c8b67932 Bug 1627360 - Document and fix the serialization of the SubmittedFromInfobar crash annotation r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D69638

--HG--
extra : moz-landing-system : lando
2020-04-06 16:33:32 +00:00
Gabriele Svelto 87ab689c3c Bug 1616195 - Improve the Linux distribution version information included in crash reports r=KrisWright
We previously only included the contents of the /etc/lsb-release file, however
this file is not present in RedHat-based distributions which use
/etc/os-release instead. This patch will read the latter if the former is not
present.

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

--HG--
extra : moz-landing-system : lando
2020-03-31 15:57:15 +00:00
Stephen A Pohl b955a31d60 Bug 1625354: Two more switches to a non-deprecated API to load .nib files. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D68486

--HG--
extra : moz-landing-system : lando
2020-03-30 23:17:27 +00:00
Barret Rennie a179f89b61 Bug 1602918 - Report DOMFissionEnabled in crash pings r=nika
Differential Revision: https://phabricator.services.mozilla.com/D68660

--HG--
extra : moz-landing-system : lando
2020-03-30 16:24:30 +00:00
Daniel Varga 3a42a4012c Backed out changeset 78a429af0ec5 (bug 1622687) for build bustage
CLOSED TREE
2020-03-30 23:32:19 +03:00
sumagnadas dc9c74f709 Bug 1622687 - Fixed files in toolkit/crashreporter to make it flake8 compliant. r=froydnj
Changed .flake8 file to include the changes for flake8 compliance

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

--HG--
extra : moz-landing-system : lando
2020-03-30 16:10:03 +00:00
André Bargull 14ca007916 Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj
Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.

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

--HG--
extra : moz-landing-system : lando
2020-03-28 16:00:09 +00:00
Nicholas Nethercote 0d565690c2 Bug 1574390 - Implement guard pages in PHC. r=glandium
Each allocation page is now bracketed by a guard page, and allocations are put
at the end of their page so that bounds violations trigger a crash.

Various operations (realloc(), free(), malloc_usable_size()) now require that
the pointer they are given points to the start of an allocation.

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

--HG--
rename : toolkit/crashreporter/test/unit_ipc/test_content_phc2.js => toolkit/crashreporter/test/unit_ipc/test_content_phc3.js
extra : moz-landing-system : lando
2020-03-27 00:14:53 +00:00
Gabriele Svelto 1974b2ed47 Bug 1622316 - Add buffering to the PlatformWriter to reduce the number of syscalls required to write the .extra file r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D67588

--HG--
extra : moz-landing-system : lando
2020-03-24 11:17:23 +00:00
Brindusan Cristian 4646c1f41f Backed out 2 changesets (bug 1614933) for bc failures at browser_tabicon_after_bg_tab_crash.js.
Backed out changeset 59503d3a702f (bug 1614933)
Backed out changeset 578c8ba9598f (bug 1614933)
2020-03-22 17:30:07 +02:00
Gabriele Svelto 322404bebb Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

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

--HG--
extra : moz-landing-system : lando
2020-03-21 17:13:08 +00:00
Gabriele Svelto 9046efc64e Bug 1623961 - Adjust the dummy crash reporter to reflect the new prototype for SetRemoteExceptionHandler() r=froydnj,kats
Differential Revision: https://phabricator.services.mozilla.com/D67675

--HG--
extra : moz-landing-system : lando
2020-03-20 20:56:41 +00:00
Michael Forney 48e9b9c824 Bug 1615713 - Update breakpad to upstream revision 5bba75bfd6ec386b8e3af0b91332388a378135bf r=gsvelto
This includes several fixes required to build against musl libc.

Conflicts were resolved in 00-arm-exidx-rollup.patch and
10-json-upload.patch. 08-dont-add-sp-to-clobber-list.patch was
applied upstream and is no longer needed. The others applied cleanly.

breakpad_getcontext.S is now built conditionally based upon the
available of getcontext() from libc, rather than only on Android.
The profiler was updated to reflect this change.

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

--HG--
rename : toolkit/crashreporter/breakpad-patches/09-gnu-alt-form-minimal-support.patch => toolkit/crashreporter/breakpad-patches/08-gnu-alt-form-minimal-support.patch
rename : toolkit/crashreporter/breakpad-patches/10-json-upload.patch => toolkit/crashreporter/breakpad-patches/09-json-upload.patch
rename : toolkit/crashreporter/google-breakpad/src/common/android/breakpad_getcontext.S => toolkit/crashreporter/google-breakpad/src/common/linux/breakpad_getcontext.S
rename : toolkit/crashreporter/google-breakpad/src/common/android/breakpad_getcontext_unittest.cc => toolkit/crashreporter/google-breakpad/src/common/linux/breakpad_getcontext_unittest.cc
extra : moz-landing-system : lando
2020-03-19 22:52:26 +00:00
Gabriele Svelto d3eaf3858d Bug 1622452 - Remove the remote exception handler when a content process shuts down r=froydnj
This works on all platforms with the exception of Linux where we remove the
exception handler only if the sandbox is disabled. With the sandbox enabled we
would have to whitelist sigaltstack() which breakpad uses to remove the
alternate signal stack which is not worth the fuss.

Besides this patch refactors the code that sets and unsets the exception
handler, cutting down on the duplication:

* The XRE_UnsetRemoteExceptionHandler() call is removed from XULAppAPI.h since it
  was no longer used
* The duplicate checks for the special strings used to disable the remote exception
  handler have been removed from CrashReporter::UnsetRemoteExceptionHandler()
  leaving them in the calling code
* The SetRemoteExceptionHandler() function was consolidated into only one
  piece of code with only one non-platform-specific shared prototype
* Some additional code was factored out to improve the readability

These changes pave the way both for bug 1614933 and for the oxidation of the
exception handler code.

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

--HG--
extra : moz-landing-system : lando
2020-03-19 14:06:31 +00:00
Mike Hommey 646579d57d Bug 1618781 - Use the taskcluster artifact for pdbstr on both Windows native and cross builds. r=froydnj
And make it an explicit dependency of the build system.

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

--HG--
extra : moz-landing-system : lando
2020-03-18 04:21:18 +00:00