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

1360 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 79bfecf6b3 Bug 1648340 - Include cstdlib/stdlib.h first in mozalloc.h. r=froydnj
I don't know why this isn't a problem currently, but it becomes one with
the #include orders in some of the source files in mozglue/linker, where
the compiler complains about the allocator functions being defined
differently wrt exceptions if they are defined via malloc_decls before
cstdlib/stdlib.h is included.

Differential Revision: https://phabricator.services.mozilla.com/D81022
2020-06-25 11:01:04 +00:00
Gian-Carlo Pascutto ecee111c1f Bug 1553717 - Use Randomization on all arenas in non-Content Processes. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70240
2020-05-13 08:31:04 +00:00
Chris Fronk af8a02cc9d Bug 1512991 - Add JsonWriteFunc::Write to take string length. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D72560
2020-05-08 16:24:31 +00:00
Ricky Stewart fd72a5d35e Bug 1633016 - Remove a bunch of references to PYTHON(2) in Makefiles r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72479
2020-05-05 19:53:22 +00:00
Bogdan Tara f137fa0613 Backed out 6 changesets (bug 1632916, bug 1599658, bug 1633037, bug 1633039, bug 1633016, bug 1632920) for SA bustages CLOSED TREE
Backed out changeset 332ce0963b4e (bug 1633039)
Backed out changeset a9904cbc40d9 (bug 1633037)
Backed out changeset d06b0ec349f8 (bug 1599658)
Backed out changeset 8fd300cad80f (bug 1633016)
Backed out changeset f8820941c703 (bug 1632916)
Backed out changeset ac9c2c8746ed (bug 1632920)
2020-05-02 01:49:29 +03:00
Ricky Stewart bb4e86d85a Bug 1633016 - Remove a bunch of references to PYTHON(2) in Makefiles r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D72479
2020-04-30 15:25:22 +00:00
Sylvestre Ledru 34acbb653a Bug 1619165 - Reformat recent changes to the Google coding style r=andi
First reformat with clang-format 10

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D68802
2020-04-25 09:40:08 +00:00
Cosmin Sabou 53c2d5ebb9 Backed out 2 changesets (bug 1628527) for causing wpt failures and a spike in bug 1622119. CLOSED TREE
Backed out changeset d9dfb6439761 (bug 1628527)
Backed out changeset 8235287622a8 (bug 1628527)
2020-04-21 23:12:09 +03:00
Nicholas Nethercote 88cd51aa6d Bug 1628527 - Introduce explicit initialization and finalization of `fix-stacks`. r=erahm,perftest-reviewers,sparky,gbrown
Currently AWSY-with-DMD doesn't work on Windows. This is because `fix-stacks`
is initialized lazily, and by the time the initialization happens some file
descriptors for files are open, and that leads to some major Python2-on-Windows
sadness as described in the big comment in the commit.

To fix the problem, this commit adds an `init` function to `fix_stacks.py` so
that `fix-stacks` can be initialized eagerly, hopefully before any file
descriptors for files are open.

For `dmd.py`, other than fixing the AWSY problems, this has little effect,
because `fix-stacks` is always initialized.

For `utils.py`, which is used to process the output of most tests, this has a
more noticeable effect: the `fix-stacks` process is always spawned, rather than
being spawned only when needed. If no stack traces appear in the test output,
this means that `fix-stacks` is spawned unnecessarily. But it's cheap to spawn;
the expensive part only happens when stack traces start getting fixed. So I
think this change in behaviour is acceptable.

Furthermore, the commit adds a `finish` function to `fix_stacks.py`, so that
the `fix-stacks` process can be explicitly shut down. This has never been done
for processes spawned for any of the stack fixing scripts. It's never caused
problems on Linux/Mac, but it seems to be necessary on Windows to avoid
similar "this file is locked" problems with the test_dmd.js test.

The commit also renames some things to more standard Python style, e.g.
`json_mode` instead of `jsonMode`.

Finally, Android tests use `utils.py` from the repository but `fix_stacks.py`
from the Android host utils. Because the two scripts must be updated in tandem,
this commit also updates the Android host utils to a version that contains the
updated `fix_stacks.py`. Thanks to aerickson for packaging up the new Android
host utils and providing the change to the `hostutils.manifest` file.

Differential Revision: https://phabricator.services.mozilla.com/D69478
2020-04-20 22:43:25 +00:00
pbz e118843a3a Bug 1615588 - Updated prompt tests. r=marionette-reviewers,johannh,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D66450
2020-04-16 14:44:56 +00:00
Nicholas Nethercote 8139b4051e Bug 1619840 - Remove `fix_{linux,macosx}_stack.py` and `fix_stack_using_bpsyms.py`. r=erahm
This commit removes `test_fix_stack_using_bpsyms.py`. That test can't easily be
modified to work with `fix_stacks.py` because it relies on internal
implementation details of `fix_stack_using_bpsym.py`. The unit testing done in
the `fix-stacks` repo provides test coverage that is as good or better.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:54 +00:00
Csoregi Natalia 954b969608 Backed out 5 changesets (bug 1615588) for browser-chrome failures e.g. browser_beforeunload_duplicate_dialogs.js. CLOSED TREE
Backed out changeset 751cca7566a8 (bug 1615588)
Backed out changeset 474aca043834 (bug 1615588)
Backed out changeset 7839b95ef76c (bug 1615588)
Backed out changeset 32bb87f48b13 (bug 1615588)
Backed out changeset 264e642042b1 (bug 1615588)

--HG--
extra : rebase_source : 41ed149c97382bc1cf823abc56811b382cae0207
2020-04-10 21:19:15 +03:00
pbz b296ec16c4 Bug 1615588 - Updated prompt tests. r=marionette-reviewers,johannh,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D66450

--HG--
extra : moz-landing-system : lando
2020-04-10 16:45:36 +00:00
Bogdan Tara 7d56f86092 Backed out changeset 916894e8b8fc (bug 1626272) for frequent test_dmd.js failures CLOSED TREE 2020-04-07 03:52:49 +03:00
Nicholas Nethercote ba62a51069 Bug 1626272 - Make `fix-stacks` initialization eager. r=erahm
Currently AWSY-with-DMD doesn't work on Windows. This is because `fix-stacks`
is initialized lazily, and by the time the initialization happens some file
descriptors for files are open, and that leads to some major Python2-on-Windows
sadness as described in the big comment in the commit.

To fix the problem, this commit adds an `init` function to `fix_stacks.py` so
that `fix-stacks` can be initialized eagerly, hopefully before any file
descriptors for files are open.

For `dmd.py`, other than fixing the AWSY problems, this has little effect,
because `fix-stacks` is always initialized.

For `utils.py`, which is used to process the output of most tests, this has a
more noticeable effect: the `fix-stacks` process is always spawned, rather than
being spawned only when needed. If no stack traces appear in the test output,
this means that `fix-stacks` is spawned unnecessarily. But it's cheap to spawn;
the expensive part only happens when stack traces start getting fixed. So I
think this change in behaviour is acceptable.

The commit also renames some things to more standard Python style, e.g.
`json_mode` instead of `jsonMode`.

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

--HG--
extra : moz-landing-system : lando
2020-04-06 19:49:54 +00:00
Sylvestre Ledru 0aa6f03cf3 Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-04-05 13:34:58 +00:00
Nicholas Nethercote 522595339d Bug 1626272 - Reduce indentation in fixStackTraces. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D69477

--HG--
extra : moz-landing-system : lando
2020-04-03 20:59:01 +00:00
André Bargull ebec34a898 Bug 1625138 - Part 16: Replace mozilla::IsIntegral with std::is_integral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D68371

--HG--
extra : moz-landing-system : lando
2020-03-28 13:57:15 +00:00
Simon Giesecke 79b5dc835f Bug 1625143 - Add returns_nonnull attributes to moz_x allocation routines. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D68367

--HG--
extra : moz-landing-system : lando
2020-03-27 07:33:28 +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
Nicholas Nethercote cd87fd19f8 Bug 1574390 - Change terminology from "pages" to "alloc pages". r=glandium
This is in preparation for the introduction of "guard pages", which are
interleaved with alloc pages. The specific renamings are:

- kMaxPageAllocs --> kNumAllocPages
- PagePtr --> AllocPagePtr
- PageState --> AllocPageState
- PageInfo --> AllocPageInfo
- mPages --> mAllocPages
- AssertPageInUse --> AssertAllocPageInUse

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

--HG--
extra : moz-landing-system : lando
2020-03-25 23:48:39 +00:00
Sylvestre Ledru 734f79b541 Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi
$ ./mach static-analysis check --checks="-*, misc-unused-using-decls" --fix <path>

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

--HG--
extra : moz-landing-system : lando
2020-03-23 13:15:33 +00:00
Andrew McCreight 17d03423b0 Bug 1623508 - Print out original argument on error in block_analyzer. r=njn
If we don't find the block, just print out the original argument,
instead of the version converted to an integer. Python gets mad when
you try to concatenate an int and a string.

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

--HG--
extra : moz-landing-system : lando
2020-03-19 00:21:34 +00:00
Nicholas Nethercote 9a11249061 Bug 1621468 - Stop using `fix_stack_using_bpsyms.py` in `dmd.py`. r=gsvelto
This uses `fix-stacks`'s new Breakpad symbols support from
https://github.com/mozilla/fix-stacks/pull/16.

The patch also updates some comments in `dmd.py` to account for some very
slight changes in `fix-stacks`'s output.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 01:15:27 +00:00
Mark Banner 15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
James Willcox 0ef38c0b9c Bug 1598068 - Add ashmem abstraction to mozglue and use it everywhere r=glandium,jld
Apps targeting SDK 29 are not allowed to open /dev/ashmem directly, and
instead must use NDK functions. Those functions are only available in
SDK 26 and higher, so we need this shim to use the functions if they
are available, else fallback to opening /dev/ashmem directly.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 19:04:49 +00:00
Nicholas Nethercote e275a8b6cb Bug 1620151 - Improve the imprecise stack matching used for `test_dmd.js`. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D65454

--HG--
extra : moz-landing-system : lando
2020-03-05 21:40:52 +00:00
Nicholas Nethercote c22c891c55 Bug 1604095 - Add `fix_stacks.py`, which uses `fix-stacks`, and use it in DMD. r=gsvelto
On Linux and Mac, this makes `dmd.py` *much* faster when it is first run on a
DMD data file.

On Windows, this makes DMD actually usable locally. Previously the stacks
weren't fixed and so were rubbish.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 00:24:23 +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
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
Masatoshi Kimura 11a443c5ea Bug 1615896 - Stop using CreateFileA in memory/replace/logalloc/. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D63023

--HG--
extra : moz-landing-system : lando
2020-02-20 08:05:25 +00:00
Coroiu Cristina fc53596ca3 Backed out 2 changesets (bug 1598068) for build bustage at ShowSSEConfig on a CLOSED TREE
Backed out changeset 5fb8d24977eb (bug 1598068)
Backed out changeset eba60d849030 (bug 1598068)
2020-02-14 00:48:07 +02:00
James Willcox 5a405a1191 Bug 1598068 - Add ashmem abstraction to mozglue and use it everywhere r=glandium,jld
Apps targeting SDK 29 are not allowed to open /dev/ashmem directly, and
instead must use NDK functions. Those functions are only available in
SDK 26 and higher, so we need this shim to use the functions if they
are available, else fallback to opening /dev/ashmem directly.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 22:17:05 +00:00
Nicholas Nethercote 7e767dd845 Bug 1614875 - Tweak constants to prevent saturation and improve the hit rate. r=glandium
With the old constants the page alloc slots would fill up quickly and the hit
rate would quickly drop below 20%.

With the new constants the alloc slots don't fill up so quickly and the hit
rate remains at or near 100% for a lot longer. Also, page allocs are recycled
more slowly, which should increase the likelihood of UAFs being detected
correctly.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 08:37:42 +00:00
Nicholas Nethercote 04df451726 Bug 1614875 - Gather more stats in PHC. r=glandium
Specifically, the number of page allocs in use, and the page alloc hit rate.

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

--HG--
extra : moz-landing-system : lando
2020-02-13 08:37:40 +00:00
Mike Hommey a28cf3044f Bug 1613011 - Clear node links when removing it from a RedBlackTree. r=njn
The assert that was added in bug 1610720 assumed the node links were
reset when a node is removed from a RedBlackTree, but that wasn't the
case. We can either remove the assert, or clear node links. We pick the
latter.

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

--HG--
extra : moz-landing-system : lando
2020-02-04 02:05:19 +00:00
Mike Hommey b535767244 Bug 1610720 - Change moz_dispose_arena to allow to free empty arenas. r=erahm
Currently, it's expected to "lazily" dispose of the arena. That is, if
the arena still has allocations, the arena is kept around. Using it for
new allocations is an error, but otherwise, it's possible to free
allocations from there. Once it's empty, the arena is freed too. Well,
that's the idea, but that last part is not actually implemented, cf.
bug 1364359.

While that is still an (optionally) desirable disposal mode, other modes
would be useful as well. So this bug is here to switch the current mode
to something that can more easily be used for e.g. bug 1377999.

The idea is to make moz_dispose_arena() free the arena immediately, and
MOZ_CRASH if it's not already empty (on a besst effort basis).

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

--HG--
extra : moz-landing-system : lando
2020-01-24 02:06:32 +00:00
Mike Hommey 505aa46f90 Bug 1610720 - Templatize the base allocator wrapper that uses a free-list. r=erahm
The base_node_alloc and base_node_dealloc are wrappers for the base
allocator that allow to free memory (the base allocator doesn't support
freeing memory), using a free list. They are dedicated to extent_node_t
objects (the only ones we currently ever need to free).

We're going to need to free other types of objects, so make this more
generic.

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

--HG--
extra : moz-landing-system : lando
2020-01-24 02:03:37 +00:00
Emilio Cobos Álvarez 256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

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

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Brian Hackett f74708b30a Bug 1598951 Part 2 - Don't record random numbers in jemalloc, r=glandium.
Depends on D58437

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

--HG--
extra : moz-landing-system : lando
2020-01-10 05:26:10 +00:00
Tom Ritter 2893552105 Bug 1590624 - Define a __imp_ alias for _strdup for mingw-clang r=dmajor
This is affected by the same problem detailed in the comment.

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

--HG--
extra : moz-landing-system : lando
2019-12-12 06:38:37 +00:00
Andreea Pavel a533b175dd Backed out 4 changesets (bug 1590624) for breaking gecko decision task on a CLOSED TREE
Backed out changeset 2ac8dd1d709d (bug 1590624)
Backed out changeset 8432398c212a (bug 1590624)
Backed out changeset 2b28154aacdb (bug 1590624)
Backed out changeset d305e4160ee4 (bug 1590624)

--HG--
rename : build/build-clang/clang-9-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
2019-12-12 08:35:11 +02:00
Tom Ritter 9a04d03693 Bug 1590624 - Define a __imp_ alias for _strdup for mingw-clang r=dmajor
This is affected by the same problem detailed in the comment.

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

--HG--
extra : moz-landing-system : lando
2019-12-07 03:03:16 +00:00
Simon Giesecke 97827bec40 Bug 1601590 - Undef _FORTIFY_SOURCE to fix build with --warnings-on-errors. r=glandium
This is required on some systems such as Fedora to allow
building with -O0 together with --warnings-as-errors due to
a check in /usr/include/features.h

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

--HG--
extra : moz-landing-system : lando
2019-12-12 01:59:13 +00:00
Sylvestre Ledru 8d2f0d1b1f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-11-26 14:35:02 +00:00
Gian-Carlo Pascutto b5c1d7951a Bug 1539133 - Explicitly say not being able to mmap is likely OOM. r=decoder,glandium
Differential Revision: https://phabricator.services.mozilla.com/D43929

--HG--
extra : moz-landing-system : lando
2019-11-12 00:04:46 +00:00
Nicholas Nethercote 928e9e1d00 Bug 1594598 - Use uint8_t* to avoid a bunch of casts. r=glandium
Currently the PHC code uses char* and uintptr_t in various address
computations. This patch changes it to use uint8_t* instead, which is clearer
than char* and avoids the need for various casts.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 23:56:48 +00:00
Nicholas Nethercote 3f17b826e9 Bug 1594598 - Improve some PHC comments. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D43838

--HG--
extra : moz-landing-system : lando
2019-11-06 23:56:48 +00:00