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

487 Коммитов

Автор SHA1 Сообщение Дата
Paul Bone 24067c4312 Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-27 08:46:51 +00:00
criss 5e97bafc4e Backed out changeset 27b73fdbb4a9 (bug 1737199) for causing bustages on memory/replace/logalloc/replay/Replay.cpp. CLOSED TREE 2021-10-26 13:00:29 +03:00
Paul Bone a4b9d48ced Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-26 05:22:05 +00:00
Paul Bone 376c53fd56 Bug 1736766 - Don't include internal DMD stack frames in reports r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D128983
2021-10-21 23:17:04 +00:00
Paul Bone 1a20d57362 Bug 1735250 - Provide a less-magic array size for jemalloc_stats r=glandium
jemalloc_stats takes an array for its second argument.  It expects this
array to have enough space for all the bins, previously the maximum was set
as a magic number.  To make it dependent on the configured bins this patch
replaces the compile-time constant with a function.

Differential Revision: https://phabricator.services.mozilla.com/D127761
2021-10-21 06:42:34 +00:00
Paul Bone cc06afa32e Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-13 06:53:20 +00:00
Marian-Vasile Laza ac6c5e156e Backed out changeset 9de9bd47c061 (bug 1669392) for causing build bustages. 2021-10-12 04:18:26 +03:00
Paul Bone cc6e7d6c41 Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-12 00:34:38 +00:00
Alex Henrie bb04aa9e0e Bug 1730376 - Fix mmap return value check in FreePage function. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D126310
2021-10-05 08:38:38 +00:00
Mike Hommey aec5c5347b Bug 1733034 - Fix unused*-variable warnings due to missing ifdefs. r=andi
dom/base/EventSource.cpp:59:22: error: unused variable 'gEventSourceLog' [-Werror,-Wunused-variable]
static LazyLogModule gEventSourceLog("EventSource");
                     ^
dom/xul/nsXULCommandDispatcher.cpp:35:22: error: unused variable 'gCommandLog' [-Werror,-Wunused-variable]
static LazyLogModule gCommandLog("nsXULCommandDispatcher");
                     ^
layout/generic/ScrollAnchorContainer.cpp:23:31: error: unused variable 'sAnchorLog' [-Werror,-Wunused-variable]
static mozilla::LazyLogModule sAnchorLog("scrollanchor");
                              ^
memory/replace/phc/PHC.cpp:308:15: error: unused variable 'kAllocJunk' [-Werror,-Wunused-const-variable]
const uint8_t kAllocJunk = 0xe4;
              ^

Differential Revision: https://phabricator.services.mozilla.com/D126866
2021-09-29 21:44:49 +00:00
Gabriele Svelto 1ea22d4cdd Bug 1730222 - Support PHC on macOS when running on ARM-based machines r=glandium
This also tightens the check for PHC-type crashes in the exception handler
so that we don't accidentally try to interpret unrelated crash types as
potential PHC ones.

Differential Revision: https://phabricator.services.mozilla.com/D126365
2021-09-29 07:58:13 +00:00
Mike Hommey 9c0f04e547 Bug 1730030 - Replace some assembly with corresponding compiler builtins. r=gerald
This has the side-effect of adding the missing arm64 mac support for PHC.

Differential Revision: https://phabricator.services.mozilla.com/D125139
2021-09-10 00:58:34 +00:00
Tom Ritter 561859278c Bug 1720342: Do not run logalloc tests for the CodeQL build r=glandium
The codeql initialization process causes a loop in allocator
initialization that results in the inability to issue open()
calls due to function interception having begun set-up but
not completing it.  (More details in bug.)

Differential Revision: https://phabricator.services.mozilla.com/D120521
2021-07-23 17:00:46 +00:00
Andrew McCreight 05bf8c42eb Bug 1717466 - A few minor fixes for block_analyzer.py. r=pbone
"print" had no params so it wasn't doing anything, causing there
to be less newlines than needed.

The default stack frame width is a bit narrow, so I increased it.

There are a few new uninteresting functions showing up, so I've
added them to the allocator list.

Differential Revision: https://phabricator.services.mozilla.com/D118381
2021-06-22 14:17:44 +00:00
Paul Bone 03fd9f1da8 Bug 1713271 - Capture the initial maps during static initialisation r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D116339
2021-06-17 05:17:06 +00:00
Paul Bone f5893db395 Bug 1713271 - Provide our own isspace implementation r=glandium
isspace requires data in libc to be initialised.  If we're parsing
/proc/smaps before libc has initialised we need to provide our own
implementation.

Differential Revision: https://phabricator.services.mozilla.com/D116338
2021-06-17 05:17:06 +00:00
Andrew Halberstadt 225e877c2b Bug 1696531: fix dmd.py and related tools to support python 3, r=bhearsum
Depends on D109729

Differential Revision: https://phabricator.services.mozilla.com/D109731
2021-06-14 15:31:42 +00:00
Alexandru Michis c152381556 Backed out changeset 49f8a4acd649 (bug 1712674) for stack walking crashes on older Windows versions (bug 1715633).
CLOSED TREE
2021-06-10 11:39:30 +03:00
Mike Hommey 8f9b77aa0b Bug 1715553 - Disable logalloc-replay check on code-coverage builds. r=firefox-build-system-reviewers,nalexander
It was already disabled for fuzzed code-coverage in bug 1695331. My
guess is that fuzzed code-coverage tripped on the extra allocations
due to the code-coverage runtime, but the code-coverage builds didn't
trip it because they also triggered an exception, which further
triggered a bug in the code with python3 (and somehow the fuzzed ccov
builds didn't trigger that). That bug effectively masked the failure.

Differential Revision: https://phabricator.services.mozilla.com/D117383
2021-06-10 03:55:46 +00:00
Gerald Squelart ec93a05700 Bug 1712674 -- If RtlLookupFunctionEntry fails, attempt to unwind from BP - r=glandium
BP may contain the stack address where the caller's BP was pushed after the function call, in which case it's possible to carefully unwind from it.

This can get past JIT code, so there is no need to give up in this case.

mozglue was already linked with ntdll, but now that we use it directly (for `NtQueryInformationThread`), ntdll needed to be added to some other users of MozStackWalkThread.

Differential Revision: https://phabricator.services.mozilla.com/D115962
2021-06-09 00:28:03 +00:00
Andrey Bienkowski 888618300d Bug 1714376 - Replace a number of "exception.message" usages. r=mhentges,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D116723
2021-06-08 15:50:10 +00:00
Dorel Luca f021feb29f Backed out changeset 68f73772f51e (bug 1714376) for Xpcom failures in builds/worker/checkouts/gecko/xpcom/idl-parser/xpidl/runtests.py. CLOSED TREE 2021-06-04 02:19:33 +03:00
Andrey Bienkowski a7a4542e20 Bug 1714376 - Replace a number of "exception.message" usages. r=mhentges,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D116723
2021-06-03 20:08:51 +00:00
Mitchell Hentges 304c8d6362 Bug 1706774: Adds required sources for the "memory" application r=firefox-build-system-reviewers,glandium
Replay, moajemalloc_info, phc, and memory needed additional
pieces (mostly Printf.cpp and dependencies) to build
successfully on Windows.

Depends on D114651

Differential Revision: https://phabricator.services.mozilla.com/D114652
2021-05-18 15:00:39 +00:00
Paul Bone 4bebc672ca Bug 1671114 - pt 7. Make an ambigious comment clearer r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D113946
2021-05-18 06:33:49 +00:00
Paul Bone 1d1cea24f3 Bug 1671114 - pt 6. Use default values for Replay members r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D104178
2021-05-18 06:33:49 +00:00
Paul Bone fb1e0178af Bug 1671114 - pt 5. Optionally touch memory as its allocated r=glandium
By touching memory when we allocate it our RSS will more accurately
represent Firefox's memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D98286
2021-05-18 06:33:48 +00:00
Paul Bone 303f9012b3 Bug 1671114 - pt 4. Calculate and report RSS in jemalloc-replay r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D94259
2021-05-18 06:33:48 +00:00
Paul Bone 21c58acf30 Bug 1671114 - pt 3. Allow open/close state for FdReader r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D104177
2021-05-18 06:33:48 +00:00
Paul Bone 5bff886648 Bug 1671114 - pt 2. Speed up replay of jemalloc_stats calls r=glandium
Calculate the distributions of memory requests in a single pass.

Differential Revision: https://phabricator.services.mozilla.com/D93724
2021-05-18 06:33:47 +00:00
Paul Bone fd20b8a605 Bug 1671114 - pt 1. Report committed memory in logalloc-replay r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D93473
2021-05-18 06:33:47 +00:00
Sandor Molnar 6ceb5f92a7 Backed out 10 changesets (bug 1696531) for causing mochitest failures in TypeError: cannot use a string pattern on a bytes-like object. CLOSED TREE
Backed out changeset abc85e3c21b0 (bug 1696531)
Backed out changeset 82445e26060e (bug 1696531)
Backed out changeset 97771570e425 (bug 1696531)
Backed out changeset c3f229148f6c (bug 1696531)
Backed out changeset 9557ff3065bc (bug 1696531)
Backed out changeset 98d17a5f6886 (bug 1696531)
Backed out changeset b0eee4af2caf (bug 1696531)
Backed out changeset 544be24f74be (bug 1696531)
Backed out changeset ddcc795bf838 (bug 1696531)
Backed out changeset e5e76f56ceb9 (bug 1696531)
2021-05-06 23:57:56 +03:00
Ben Hearsum 16e50ef8ae Bug 1696531: fix dmd.py and related tools to support python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D109731
2021-05-06 19:51:34 +00:00
Mike Hommey 6a41d8d7ad Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-16 04:06:02 +00:00
Butkovits Atila 8255e3083f Backed out changeset 5c6b15fcea71 (bug 1515229) for causing GTest failures. CLOSED TREE 2021-04-15 13:37:29 +03:00
Mike Hommey 2eacd46d46 Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-14 22:31:36 +00:00
Bogdan Tara 4de76f4cdf Backed out 8 changesets (bug 1696531) for test_dmd.js and test_subprocess.js xpc failures CLOSED TREE
Backed out changeset 907102743c5f (bug 1696531)
Backed out changeset c631966a64c0 (bug 1696531)
Backed out changeset 754ce2bf288a (bug 1696531)
Backed out changeset 7129c9cfe519 (bug 1696531)
Backed out changeset dba2bea61b29 (bug 1696531)
Backed out changeset 33f3e86a5ce8 (bug 1696531)
Backed out changeset 7dcbb17a1578 (bug 1696531)
Backed out changeset 1f982303513f (bug 1696531)
2021-04-14 17:49:29 +03:00
Ben Hearsum 42620225bf Bug 1696531: fix dmd.py and related tools to support python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D109731
2021-04-14 13:54:24 +00:00
smolnar 22c6eb14ba Backed out changeset f7b0cdc3aeb0 (bug 1515229) for causing xpc failures in test_feature_stackwalking. CLOSED TREE 2021-04-14 12:25:37 +03:00
Mike Hommey 133396cb94 Bug 1515229 - Make MozStackWalk/MozWalkTheStack frame skipping more reliable. r=gerald,nika,bobowen,jld
Differential Revision: https://phabricator.services.mozilla.com/D110899
2021-04-14 04:47:09 +00:00
Butkovits Atila 8b7a0827b5 Backed out 7 changesets (bug 1696531) for causing mochitest failures complaining about arguments.
Backed out changeset 52ba6bf74b55 (bug 1696531)
Backed out changeset c907d8324bcc (bug 1696531)
Backed out changeset 1f7ffffa368f (bug 1696531)
Backed out changeset 5002c2053444 (bug 1696531)
Backed out changeset 0b8c56f2f5c3 (bug 1696531)
Backed out changeset a8d8adae39b6 (bug 1696531)
Backed out changeset a7f9bd32a4c9 (bug 1696531)
2021-04-12 20:48:48 +03:00
Ben Hearsum df62fb3800 Bug 1696531: fix dmd.py and related tools to support python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D109731
2021-04-12 16:31:21 +00:00
Brindusan Cristian 2586a80626 Backed out changeset d47a138a3b50 (bug 1668903) for causing xpcshell failures. CLOSED TREE 2021-03-24 23:22:21 +02:00
Emilio Cobos Álvarez 9d7bb1aa62 Bug 1668903 - Port dmd.py to python3. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D98927
2021-03-24 20:45:56 +00:00
Mike Hommey 4e512a5e67 Bug 1699321 - Avoid DMD crashes on Windows debug builds. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D109425
2021-03-22 22:50:25 +00:00
Mike Hommey 4d8e18962b Bug 1699375 - Move WalkTheStack to mozglue. r=nika
A long standing issue is that MOZ_ASSERT and related don't print stack
traces in debug builds when they're directly or indirectly emitted from
non-libxul code. Moving WalkTheStack to mozglue alleviates the problem.

It's also not printing stack traces when emitted from C code (and for
some C third party libraries, we do redirect assert to MOZ_ASSERT),
which we solve by making the corresponding API available without C++
(which WalkTheStack being a static method of the nsTraceRefCnt class
didn't allow, or the use of a closure on Android).

This requires some adjustements to headers that indirectly assume that
Assertions.h includes ErrorList.h through nsError.h through nscore.h
through nsTraceRefcnt.h.

We also remove TestStackCrawl.cpp because it hasn't been built since
bug 158528, 19 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D108913
2021-03-22 21:25:30 +00:00
Mike Hommey ec7f538e0c Bug 1698719 - Remove aSkipFrames argument to both FramePointerStackWalk and MozStackWalkThread. r=gsvelto,gerald
In the case of FramePointerStackwalk, the caller gives a pointer to the
top-most frame to walk from. There isn't really a reason to give a
number of frames to skip, as the right frame pointer could be given in
the first place if that was really necessary. And in practice, it's
hasn't been used so far.

In the case of MozStackWalkThread, the caller presumably doesn't know
what the thread the stack is being walked for is doing, and it would be
a guesswork to pass a valid number of frames to skip. In practice, it's
also not used.

The aSkipFrames is already a footgun on MozStackWalk (and we're going to
change that in bug 1515229), we don't need to keep a footgun on these
other stack walking methods.

Differential Revision: https://phabricator.services.mozilla.com/D108563
2021-03-17 00:21:39 +00:00
Mike Hommey 9c0fcac97c Bug 1690167 - Change VsprintfLiteral/SprintfLiteral to rely on PrintfTarget. r=nika,Gankra,firefox-build-system-reviewers,mhentges
Instead of snprintf.

Because some standalone code uses those functions directly or indirectly,
and PrintfTarget lives in mozglue, they now need to depend on mozglue
instead of mfbt. Except logalloc/replay, which cherry-picks what it
uses, and the updater, for which we keep using vsnprintf.

Differential Revision: https://phabricator.services.mozilla.com/D103730
2021-03-10 23:52:40 +00:00
Marco Castelluccio 50efad8d07 Bug 1695331 - Disable memory/replace/logalloc/replay in ccov fuzzing builds. r=calixte DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D106777
2021-03-01 15:41:15 +00:00
Marco Castelluccio ca6a10dd3e Bug 1693786 - Run memory/replace/logalloc/replay on ccov builds since it no longer fails. r=glandium DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D105748
2021-02-26 08:18:24 +00:00