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

1931 Коммитов

Автор SHA1 Сообщение Дата
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
Ciure Andrei 19d8351b5f Backed out 2 changesets (bug 1618781) for toolchain bustages CLOSED TREE
Backed out changeset 83026834b242 (bug 1618781)
Backed out changeset ac168e956e3a (bug 1618781)
2020-03-18 05:32:00 +02:00
Mike Hommey 570134e4a8 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-17 14:01:46 +00:00
Ed Lee acb960676c Bug 1620556 - Automatic code fixes for Prettier 1.19.1 upgrade. r=Standard8,remote-protocol-reviewers,marionette-reviewers,webcompat-reviewers,perftest-reviewers,sparky,whimboo,denschub
Differential Revision: https://phabricator.services.mozilla.com/D66128

--HG--
extra : moz-landing-system : lando
2020-03-13 23:38:52 +00:00
Jason Adler f7585987c9 Bug 1609823 Make about:crashes an HTML file r=ntim
Differential Revision: https://phabricator.services.mozilla.com/D66253

--HG--
rename : toolkit/crashreporter/content/crashes.xhtml => toolkit/crashreporter/content/crashes.html
extra : moz-landing-system : lando
2020-03-11 19:15:12 +00:00
Bogdan Tara fb2b3d4e41 Backed out 2 changesets (bug 1614933) for busages complaining about IdleSchedulerChild.cpp CLOSED TREE
Backed out changeset ff92f800a74e (bug 1614933)
Backed out changeset 5cee8f603ae4 (bug 1614933)
2020-03-10 17:21:55 +02:00
Gabriele Svelto 9336e8143b 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-10 14:59:22 +00:00
Simon Giesecke 8ad76c7e47 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in toolkit. r=mossop
Depends on D66008

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

--HG--
extra : moz-landing-system : lando
2020-03-10 08:48:24 +00:00
Gabriele Svelto 7e978643d5 Bug 1618879 - Do not send the telemetry session ID along with crash reports r=mconley
The telemetry session ID annotation is only used to correlate crash pings with
main pings, it does not need to be sent along with crash reports as we have no
use for it there.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 16:00:43 +00:00
Simon Giesecke 69b996524d Bug 1618165 - Provide BaseAutoLock and BaseAutoUnlock deduction guides for Mutex references. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D64359

--HG--
extra : moz-landing-system : lando
2020-02-28 07:59:30 +00:00
Andrew McCreight 4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei 00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Mike Hommey d747b65211 Bug 1617794 - Wrap Windows tools with Wine on cross builds. r=dmajor
Windows programs run via Wine don't like Unix absolute paths (they look
like command line arguments), so we need to use relative paths.

Mingw already run fxc2 via wine, but for some reason it doesn't care
about the Unix absolute paths. genshaders does need some adjustements to
run properly with the real fxc.

Now, on actual Windows, because the temporary directory where
tempfile.NamedTemporaryFile creates files by default is not necessarily
on the same drive as where the command runs from, a relative path can't
be constructed. So we also force the temporary file to be created in the
current (obj) directory.

There is no similar concern for other files because we only go from
objdir to srcdir, and the build system already doesn't support both
being on a separate drive.

While here, flush stdout when the genshared script writes to it, so that
the messages are printed out immediately rather than randomly, later,
after output from subprocesses.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:42:57 +00:00
Andrew McCreight b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Gabriele Svelto 978898caaa Bug 1617202 - Handle TelemetrySessionId like a regular crash annotation r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63687

--HG--
extra : moz-landing-system : lando
2020-02-25 07:25:20 +00:00
Sylvestre Ledru 767a63976f Bug 1617369 - Reformat toolkit/crashreporter/ & toolkit/library/rust/ using rustfmt r=gsvelto
Depends on D63952

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

--HG--
extra : moz-landing-system : lando
2020-02-25 07:44:53 +00:00
Eric Rahm b224a7461c Bug 1617334 - Remove nsAutoPtr usage from toolkit. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D63746

--HG--
extra : moz-landing-system : lando
2020-02-22 14:50:52 +00:00
Arnaud Renevier 9d7abb9383 Bug 1607364 - CrashReporting API r=baku
Implement Crash Report for Reporting API.

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

--HG--
extra : moz-landing-system : lando
2020-02-21 17:40:30 +00:00
Mike Shal c8abdd68c2 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D63438

--HG--
extra : moz-landing-system : lando
2020-02-21 00:05:17 +00:00
Csoregi Natalia 6360b24e80 Backed out 2 changesets (bug 1616630) for Android bustage. CLOSED TREE
Backed out changeset 15016546c954 (bug 1616630)
Backed out changeset dcb7dc51633b (bug 1616630)
2020-02-20 21:24:11 +02:00
Mike Shal 39492660f4 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Depends on D63437

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

--HG--
extra : moz-landing-system : lando
2020-02-20 16:21:55 +00:00
Mike Shal d8e4653d19 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 13:22:46 +00:00
Cosmin Sabou ff39f9206d Backed out 2 changesets (bug 1613263, bug 1611326) for presummably causing l10n langpack bustages. a=backout
Backed out changeset 77e54e76848a (bug 1611326)
Backed out changeset 36ba18ac3a68 (bug 1613263)
2020-02-14 15:02:21 +02:00
Mike Shal ad0c283ab2 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 23:07:04 +00:00
Brindusan Cristian e2fb6b8344 Backed out changeset 7fefed11f117 (bug 1611326) for build bustages at update-1.xpi.stub. CLOSED TREE 2020-02-13 23:33:34 +02:00
Mike Shal e6464dd404 Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart
GENERATED_FILES now defaults to python3 unless py2=True is specified as
an argument. All existing GENERATED_FILES scripts and GeneratedFile
templates have the py2=True attribute added, so this patch should
effectively be a no-op.

Going forward, individual scripts can be converted to python3 and their
corresponding py2=True attribute can be deleted. In effect, this patch
will be backed out in pieces until all scripts run in python3, at which
point the py2 attribute itself can be removed.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 20:31:50 +00:00
Kristen Wright cc862d2d30 Bug 1539944 - Get rid of NS_NewThread r=froydnj
Gets rid of `NS_NewThread`. Where it was used in testing, I gave the new named threads names relevant to their tests.

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

--HG--
extra : source : 541b98270c9985c5bd3569ff3ff8bc6c3d3c650a
2020-02-11 21:01:56 +00:00
Ciure Andrei 0ddf5384e0 Backed out changeset 541b98270c99 (bug 1539944) for causing bc leaks CLOSED TREE 2020-02-12 03:23:15 +02:00
Kristen Wright e40c296db4 Bug 1539944 - Get rid of NS_NewThread r=froydnj
Gets rid of `NS_NewThread`. Where it was used in testing, I gave the new named threads names relevant to their tests.

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

--HG--
extra : moz-landing-system : lando
2020-02-11 21:01:56 +00:00
Andrew Osmond 215f13488a Bug 1602819 - Expose desktop environment (e.g. GNOME, KDE) on Linux. r=jrmuizel,fluent-reviewers
This patch also exposes the desktop environment and window protocol on
the gfx blocklist, allowing us more control over feature deployment.
This will help with the slow rollout of WebRender to release channels.

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

--HG--
extra : moz-landing-system : lando
2020-02-10 14:21:30 +00:00
Razvan Maries 23b0b10a14 Backed out changeset 8ddc0a160da1 (bug 1602819) for Mochitest perma failures on Linux. CLOSED TREE 2020-02-10 14:52:27 +02:00
Andrew Osmond b2a444ebe9 Bug 1602819 - Expose desktop environment (e.g. GNOME, KDE) on Linux. r=jrmuizel,fluent-reviewers
This patch also exposes the desktop environment and window protocol on
the gfx blocklist, allowing us more control over feature deployment.
This will help with the slow rollout of WebRender to release channels.

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

--HG--
extra : moz-landing-system : lando
2020-02-07 18:57:51 +00:00
Calixte Denizet 99c6342b1a Bug 1603988 - Part 1: Avoid to fail system-symbols-mac-upload-symbols when no symbols to upload r=marco,gsvelto
Currently, when task system-symbols-mac doesn't produce artifacts because of no data, then the task system-symbols-mac-upload-symbols is failing too.
So this patch aims to not fail the task in such a case.

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

--HG--
extra : moz-landing-system : lando
2020-02-04 10:06:07 +00:00
Gabriele Svelto ae593b8545 Bug 1612899 - Close the pipe used to send crash annotations to the parent process only once r=froydnj
The issue was caused by us making a copy of the platform writer thus
triggering the destructor twice.

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

--HG--
extra : moz-landing-system : lando
2020-02-03 16:08:30 +00:00
Brian Grinstead 3d2d2d0ea7 Bug 1608281 - Automated rewrite away from reading properties on the global `this` in JSM files - round 1 r=mossop
This patch was generated with a script. It doesn't include all files:

- Files that use the preprocessor or fail to parse are skipped
- Files that are loaded as JSMs but don't use the .jsm extension are skipped (those will be renamed in Bug 1609269)

It was generated with the following command using d855222aa2/no-this-property-read.js:

```
hg revert --all &&
cp .gitignore .rgignore &&
rg --files-without-match -g '*.jsm' '^#endif|^#include|^#filter' | jscodeshift --stdin --transform ~/Code/jsm-rewrites/no-this-property-read.js --ignore-pattern ./mobile/android/modules/Sanitizer.jsm --ignore-pattern ./js/xpconnect/tests/unit/syntax_error.jsm &&
./mach eslint `hg st | rg '^M ' | sed 's/^M //'`
```

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

--HG--
extra : moz-landing-system : lando
2020-01-29 21:50:04 +00:00
Michael Forney fafd525cc9 Bug 1612025 - Avoid conflict with pread64/pwrite64 defined by libc r=gsvelto
musl libc defines these to pread and pwrite respectively, since its
off_t is always 64-bit. This causes unintended macro replacement
when defining the pread64/pwrite64 wrappers.

To prevent this, save the macro definitions at the start of the
header and restore them at the end. This is what is already done
to work around the same issue on Android NDK.

This is a cherry-pick of the following upstream change:
https://chromium.googlesource.com/linux-syscall-support/+/f70e2f1641e280e777edfdad7f73a2cfa38139c7%5E%21/

This change was also applied to google-breakpad here:
647158232b%5E%21/

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

--HG--
extra : moz-landing-system : lando
2020-01-29 07:05:44 +00:00
Razvan Maries 0801935dae Backed out changeset 228931ff1d49 (bug 1607364) for mochitest failures. CLOSED TREE 2020-01-28 22:03:47 +02:00
Arnaud Renevier 4ba9c81516 Bug 1607364 - CrashReporting API r=baku
Implement Crash Report for Reporting API.

The browser test will force a crash of the renderer and check that a report is
sent to the server. Because of this (intentional) crash, the verification test
fail. So we disable verification test for that test.

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

--HG--
extra : moz-landing-system : lando
2020-01-28 18:06:47 +00:00
Gabriele Svelto 44c60cb145 Bug 1609649 - Strip telemetry annotations from the crashes we submit via Firefox r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D60145

--HG--
extra : moz-landing-system : lando
2020-01-23 21:22:11 +00:00
Gabriele Svelto f40b611e19 Bug 1610566 - Prevent child processes crashing before the exception-handler is in place from triggering an assertion in the parent process r=froydnj
This also adds an explicit warning when this happens so that the child processes don't crash without leaving a trace.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 21:33:37 +00:00
Mihai Alexandru Michis 331926ea06 Backed out changeset c07d1683b9f1 (bug 1609649) for causing failures regarding the Crash Reporter.
CLOSED TREE
2020-01-23 12:37:53 +02:00
Gabriele Svelto 157c39b737 Bug 1609649 - Strip telemetry annotations from the crashes we submit via Firefox r=chutten
Differential Revision: https://phabricator.services.mozilla.com/D60145

--HG--
extra : moz-landing-system : lando
2020-01-22 19:23:18 +00:00
Ciure Andrei 95103073f2 Backed out changeset 41a9a81b0127 (bug 1607364) for RustMozCrash related crashes CLOSED TREE 2020-01-23 02:50:36 +02:00