Commit Graph

7058 Commits

Author SHA1 Message Date
Brindusan Cristian
79e9f1a034 Backed out changeset 8989d1a83de8 (bug 1583868) for xpcshell failures at test_ext_geckoProfiler_schema.js. CLOSED TREE 2019-10-01 22:27:11 +03:00
Gerald Squelart
fa7dc1a809 Bug 1583868 - New profiler feature "nostacksampling" - r=gregtatum
Previously, the absence of "stackwalk", "leaf", and "javascript" implied that
the test/user didn't want any sampling, but this caused issues in some tests
that enabled "stackwalk" on platforms that didn't support stack-walking, which
ended up suppressing label-only stacks that the test expected.

we now have an explicit feature "nostacksampling" that disables backtraces from
the samplers in both profilers. This effectively cancels "stackwalk", "leaf",
and "javascript" if present.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 14:00:21 +00:00
Nick Thomas
dfd9f2dd17 Bug 1578497 - Overwrite notarization ticket on each partial update instead of patching, so pkgs can be updated, r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D47576

--HG--
extra : moz-landing-system : lando
2019-10-01 02:42:10 +00:00
Andrew Halberstadt
d3eae4b83c Bug 1580280 - [mozlint] Run |mach lint| with Python 3 and drop support for Python 2 r=mars
Differential Revision: https://phabricator.services.mozilla.com/D45441

--HG--
extra : moz-landing-system : lando
2019-09-30 15:09:41 +00:00
Sylvestre Ledru
bae04a811a Bug 1579845 - Add a test to the mozlint check: license r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D45873

--HG--
extra : moz-landing-system : lando
2019-09-30 14:56:12 +00:00
Chris AtLee
4a7ce514be Bug 1540276: Migrate authenticode signing to autograph r=Callek,mshal
Differential Revision: https://phabricator.services.mozilla.com/D47114

--HG--
extra : moz-landing-system : lando
2019-09-30 13:57:32 +00:00
Sylvestre Ledru
1b9161eb05 Bug 1579845 - ride along: codespell Add support of exclude: r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D45489

--HG--
extra : moz-landing-system : lando
2019-09-30 13:44:55 +00:00
Cosmin Sabou
14938bad3b Backed out 10 changesets (bug 1550108) for causing build bustages on StartupCache.cpp.
Backed out changeset cbadfa2bbd7e (bug 1550108)
Backed out changeset 2560f0ab6ebf (bug 1550108)
Backed out changeset 0a1fa8d8bb3c (bug 1550108)
Backed out changeset 62416909cf67 (bug 1550108)
Backed out changeset 60991713b1e2 (bug 1550108)
Backed out changeset f950e30afd90 (bug 1550108)
Backed out changeset e63d0a1fec38 (bug 1550108)
Backed out changeset 7a009d42e7e7 (bug 1550108)
Backed out changeset 395affa4c205 (bug 1550108)
Backed out changeset 0fd41e9dbd2a (bug 1550108)

--HG--
rename : mfbt/lz4/lz4.c => mfbt/lz4.c
rename : mfbt/lz4/lz4.h => mfbt/lz4.h
2019-09-29 01:14:31 +03:00
Doug Thayer
fdbddfa996 Bug 1550108 - Pull in secondary lz4 libraries r=glandium
I opted to go with what I perceived as the more expedient route
of leaving lz4 roughly where it is and just adding to that. The
biggest complication was xxhash, which is included elsewhere.
I'm not generally proficient with build-related things though so
my solution may be wrong and not just ugly.

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

--HG--
rename : mfbt/lz4.c => mfbt/lz4/lz4.c
rename : mfbt/lz4.h => mfbt/lz4/lz4.h
extra : moz-landing-system : lando
2019-09-27 22:15:01 +00:00
Brindusan Cristian
e2348a18ee Backed out 2 changesets (bug 1573211) as requested by dmajor on irc. CLOSED TREE
Backed out changeset 587463567434 (bug 1573211)
Backed out changeset de0fe40466cb (bug 1573211)

--HG--
rename : build/build-clang/clang-android.json => build/build-clang/clang-8-android.json
rename : build/build-clang/clang-linux64-aarch64-cross.json => build/build-clang/clang-8-linux64-aarch64-cross.json
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-8-linux64.json
rename : build/build-clang/clang-macosx64.json => build/build-clang/clang-8-macosx64.json
rename : taskcluster/scripts/misc/build-clang-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh
extra : histedit_source : 3f9570ab67fd42186265b1dbb6e93c8342bc60e2
2019-09-26 20:12:51 +03:00
Victor Porof
71a08e56c3 Bug 1583440 - Enable fuzzer-no-link on the rkv crate when fuzzing, r=truber
Differential Revision: https://phabricator.services.mozilla.com/D46901

--HG--
extra : moz-landing-system : lando
2019-09-26 16:24:50 +00:00
Victor Porof
b0783dc7ee Bug 1583439 - Update lmdb-rkv-sys, lmdb-rkv and rkv crates to their latest versions, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D46899

--HG--
extra : moz-landing-system : lando
2019-09-26 11:52:13 +00:00
Mike Hommey
998851dbba Bug 1582574 - Make minidump_stackwalk toolchain binary compatible with both older and newer Debian/Ubuntu. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D46538

--HG--
extra : moz-landing-system : lando
2019-09-25 22:03:16 +00:00
Andreea Pavel
9fd779e03f Merge mozilla-central to autoland on a CLOSED TREE 2019-09-26 01:00:14 +03:00
Andreea Pavel
aacd9754e9 Merge mozilla-inbound to mozilla-central a=merge 2019-09-26 00:53:01 +03:00
Nick Alexander
3bf9f51b30 Bug 1575014 - Fix ./mach try --gecko-profile .... r=tomprince,ahal
An error crept in, resulting in:
```
[task ...] InterpreterError: InterpreterError: infix: [..] expects integer [..] integer
```

At some point, `suite` became a string name and not an object with a
string `name` member.  However, in the interim, the diversity of
`command` structures has made the template approach untenable.
Therefore, this commit converts `GeckoProfile` to a `TryConfig`.  The
existing test clearly wasn't helpful, and it doesn't really map to a
`TryConfig` test, so it was removed.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 20:18:17 +00:00
Oana Pop Rus
4b9792db7c Backed out changeset 371641b1010b (bug 1580280) for lints failure on a CLOSED TREE 2019-09-26 00:18:33 +03:00
Andrew Halberstadt
fdc7d0afac Bug 1580280 - [mozlint] Run |mach lint| with Python 3 and drop support for Python 2 r=mars
Differential Revision: https://phabricator.services.mozilla.com/D45441

--HG--
extra : moz-landing-system : lando
2019-09-25 20:03:14 +00:00
Boris Zbarsky
7ccdf0a53c Bug 1574201. Remove support for IDL "implements" statements. r=edgar
A bunch of loop-detection, etc, complexity goes away because mixins are not
interfaces and the mixin syntax does not allow various things we had to guard
against in terms of maplikes and whatnot.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:59:00 +00:00
Andi-Bogdan Postelnicu
5f02cc9b02 MANUAL PUSH: Fix for Bug 1573211 - Re-generate the autotest results for clang-tidy analysis. r=myself.
--HG--
extra : rebase_source : d360e92b0da5701e1cfd4e1f49032283bd288ed5
extra : amend_source : edf7899f8bce61f4a5120713bd04cedc83085ea7
2019-09-25 17:30:19 +03:00
Mihai Alexandru Michis
4e1448e7e6 Backed out 2 changesets (bug 1510226) for causing xpcshell crashes and xpcshell failures in test_TelemetrySession.js CLOSED TREE
Backed out changeset cb739de6606d (bug 1510226)
Backed out changeset b6f670610dc3 (bug 1510226)
2019-09-25 04:25:07 +03:00
David Major
9d69f6a5ba Bug 1573211 - Update to clang 9.0.0 r=glandium
Updates all clang 8.0.1 to version 9.0.0, except for the mingw builds
which suffer from bug 1548624 and will be handled separately later.

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

MANUAL PUSH: Rebuild clang toolchains without stalling autoland

--HG--
rename : build/build-clang/clang-8-android.json => build/build-clang/clang-android.json
rename : build/build-clang/clang-8-linux64-aarch64-cross.json => build/build-clang/clang-linux64-aarch64-cross.json
rename : build/build-clang/clang-8-linux64.json => build/build-clang/clang-linux64.json
rename : build/build-clang/clang-8-macosx64.json => build/build-clang/clang-macosx64.json
rename : taskcluster/scripts/misc/build-clang-8-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-linux-macosx-cross.sh
extra : amend_source : 2dc7e91897e869ead501f19fbd7960d59c4b79bd
2019-09-21 16:26:53 +02:00
Andrew Halberstadt
898dfb96b4 Bug 1567642 - [lint.flake8] Fix misc flake8 under Python 3 lint issues r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D45417

--HG--
extra : moz-landing-system : lando
2019-09-24 14:44:01 +00:00
Olli Pettay
beb759c519 Bug 1582655, try to make browser_test_feature_preferencereads.js less racy and let browser_test_feature_jsallocations.js to run a bit longer, r=whawkins
Differential Revision: https://phabricator.services.mozilla.com/D46865

--HG--
extra : moz-landing-system : lando
2019-09-24 09:23:35 +00:00
Kristen Wright
570169ce06 Bug 1566315 - Add prefs to ignore_prefs r=njn
Adds prefs to `IGNORE_PREFS` so that they will be overlooked by lintpref. `devtools.console.stdout.chrome`, `devtools.console.stdout.content`, and `browser.dom.window.dump.enabled` make use of the `sticky` attribute, and `fission.autostart` makes use of the `locked` attribute within all.js.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 00:11:19 +00:00
Kristen Wright
26e2831215 Bug 1566315 - Linter for StaticPrefList.yaml r=njn,ahal,glandium
Linter that checks for duplicates between StaticPrefList.yaml and all.js. Also a starting point for other prefs linting tasks.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 00:09:08 +00:00
Noemi Erli
ecdbbb2a1f Backed out 8 changesets (bug 1564549) for causing failures in browser_all_files_referenced.js CLOSED TREE
Backed out changeset a6b83802832c (bug 1564549)
Backed out changeset 7f38c6ddd009 (bug 1564549)
Backed out changeset 15a754fb192e (bug 1564549)
Backed out changeset 34441585469f (bug 1564549)
Backed out changeset aada27f6ad6e (bug 1564549)
Backed out changeset 103dbf465704 (bug 1564549)
Backed out changeset c38e72058869 (bug 1564549)
Backed out changeset aca91e9add16 (bug 1564549)
2019-09-24 02:38:39 +03:00
Eitan Isaacson
b7427e24a9 Bug 1564549 - Remove AccessFu. r=geckoview-reviewers,yzen,snorp
Differential Revision: https://phabricator.services.mozilla.com/D45604

--HG--
extra : moz-landing-system : lando
2019-09-23 21:07:21 +00:00
Gerald Squelart
16dbd4f365 Bug 1582992 - Removed unneded BlocksRingBuffer's entry destructor, and ProfilerBuffer's JS::AutoSuppressGCAnalysis - r=gregtatum
`BlocksRingBuffer` had an "entry destructor" to make it a more generic
container, and it was useful during early prototyping of the new profiler
storage (so that we could store owning pointers).
But this entry destructor is stored in an `std::function`, which gets marked as
a potential GC caller by the js rooting hazard analyzer; and as this bug found,
it's not obvious where to place `JS::AutoSuppressGCAnalysis`, because profiler
entries (including stacks) could be added on one thread while GC happens
elsewhere, which triggers the embedded `AutoAssertNoGC` check.

Since we don't actually use the entry destructor facility in the profiler, it's
easier to just get rid of it. As a bonus, it's a small optimization.
Tests that were using an entry destructor now use the `State` instead, to verify
that entries are pushed and cleared as expected.

If needed in the future outside of the profiler, `BlocksRingBuffer` could again
include an entry destructor, but it would have to be through templating, so that
the class used in the profiler wouldn't contain an `std::function`.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 20:50:20 +00:00
Anmol Agarwal
d6766388f1 Bug 1554657 - Add a verbose mode to |mach lint| to display log output r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D43507

--HG--
extra : moz-landing-system : lando
2019-09-23 13:19:25 +00:00
Jesse Schwartzentruber
146562d993 Bug 1581158 - Add fuzzing target for rkv r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45891

--HG--
rename : tools/fuzzing/moz.build => tools/fuzzing/rust/moz.build
extra : moz-landing-system : lando
2019-09-20 21:27:35 +00:00
Ted Campbell
62565b25fc Bug 1578730 - Add js::GetCodeCovergeSummaryAll API. r=nbp,marco
Split the GetCodeCoverageSummary API into a variant for a specific realm
vs checking all realms. This restores the original behaviour of the
getLcovInfo testing function to only return info on current realm. This
makes testing OOM behaviour much more predictable.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 00:08:39 +00:00
Andrew Halberstadt
885bdd32e7 Bug 1580280 - [lint] Support Python 3 in other lint integrations r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D45440

--HG--
extra : moz-landing-system : lando
2019-09-18 21:11:02 +00:00
Andrew Halberstadt
795035dba3 Bug 1580280 - [lint] Support Python 3 in the wpt integration r=jgraham
Differential Revision: https://phabricator.services.mozilla.com/D45439

--HG--
extra : moz-landing-system : lando
2019-09-19 00:34:48 +00:00
Andi-Bogdan Postelnicu
f26c05d126 Bug 1581846 - mark some Coverity checkers as disabled since their results yiled to be false-positive. r=bastien
Differential Revision: https://phabricator.services.mozilla.com/D46151

--HG--
extra : moz-landing-system : lando
2019-09-19 03:57:34 +00:00
Greg Tatum
1700229ac1 Bug 1564475 - Add a native allocation profiling test; r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D42198

--HG--
extra : moz-landing-system : lando
2019-09-18 18:47:03 +00:00
Greg Tatum
b534604d61 Bug 1564475 - Only turn on the native allocation tracking with a profiler feature; r=njn
The code changes to use a profiler feature for the native allocations were deferred
until this commit.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:46:39 +00:00
Greg Tatum
1738125fb6 Bug 1564475 - Add a mechanism to collect profiler backtraces; r=njn,gerald
The profiler backtraces inside a memory hook are re-entrant for the
profile lock. This patch adds additional guards to protect against this
in order to allow for a profiler backtrace during native allocations.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:46:19 +00:00
Greg Tatum
7da1f1429c Bug 1564475 - Disable native allocations when the bloat log is turned on; r=njn
There is a bad interaction between the bloat log and the native allocation
tracking. There is a detailed message explaining the problem in the code.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:46:06 +00:00
Greg Tatum
4aa10db6ce Bug 1564475 - Add the ability to collect markers with a Bernoulli trial; r=njn
This commit adds both the native allocation marker, and the Bernoulli
trial to attempt to sample the native allocations.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:45:57 +00:00
Greg Tatum
5b4a05cfdf Bug 1564475 - Add a mechanism to block re-entry on profiler memory hooks; r=njn
This commit adds a ThreadIntercept mechanism to block re-entry when
attempting to collect the stacks of native allocations.
A following commit will actually hook them up to collect allocations.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:45:48 +00:00
Greg Tatum
8340186c94 Bug 1564475 - Remove lock failure when removing the profiler counters; r=jesup
The ProfilerCounters had a static lifetime controlled by a UniquePtr. This
is an issue if the profiler mutex, which is also static, gets destroyed
first. The counters will then try to access the profiler mutex, and find
it already destroyed, leading to a crash. This commit changes the life
cycle to explicitly leak the counters for the lifteime of the process.

In addition, this patch adds explicit install and removal functions for
the memory hooks.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:45:44 +00:00
Gerald Squelart
ab686fa4f7 Bug 1549482 - Rudimentary no-sampling mode - r=gregtatum
If all sampling-related features ("Native Stacks", "JavaScript", and "Native
Leaf Stack") are OFF, the sampler loop will not record any stack samples, not
even from labels, which should reduce the profiler overhead significantly.

This means that the sampling rate could be slowed down (up to 5s interval), to
help reduce the power consumption incurred by wake-ups for sampling.
Markers are not affected by this, and will all be recorded as expected.
However counters (e.g., memory allocations) are still tied to sampling, so their
sampling resolution will be reduced to whatever sampling rate is chosen.

Some existing tests relied on stack sampling happening, so they now enable at
least "leaf". Bug 1579333 may revisit these tests for a better solution (if
possible).

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

--HG--
extra : moz-landing-system : lando
2019-09-24 15:50:19 +00:00
Mark Hammond
140dc3f765 Bug 1578217 - remove the sync 'yellow state' telemetry. r=tcsc
Differential Revision: https://phabricator.services.mozilla.com/D45765

--HG--
extra : moz-landing-system : lando
2019-09-19 00:34:04 +00:00
Bas Schouten
53993c8cdf Bug 1581427: Define UniqueProfilerBacktrace and profiler_get_backtrace() to be no-ops on a build without profiling. r=njn
Differential Revision: https://phabricator.services.mozilla.com/D46090

--HG--
extra : moz-landing-system : lando
2019-09-18 12:38:52 +00:00
Gerald Squelart
2402857f3f Bug 1581049 - Use AutoCStrings in StreamSamplesToJSON to avoid mallocs - r=gregtatum
Profiling the profiler showed a lot of time spent allocating memory for the
frame-address strings, almost half the time of `StreamSamplesToJSON`!
Using an "Auto" string will prevent these allocations in most cases.

Also removed the `printf("0x%llx")`, instead just appending "0x" and an hex-
formatted number with `AppendInt()` (which handles 32- and 64-bit numbers
separately, so there is no more needs to do a double-cast to avoid sign
extensions -- There is still a double cast, but a no-op one to fix the type to
either `uint32_t` or `uint64_t`).

Using an Auto string for nearby frame labels as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:23:12 +00:00
Gerald Squelart
b5d3f932a0 Bug 1581049 - Gather stack sample data into fewer entries - r=gregtatum
Stack samples may contain up to hundreds or thousands of entries, which need to
be copied (during sampling and duplicating), and also mostly skipped when
creating the JSON output for other threads or other types of profile data.

This patch gathers all sample legacy entries (apart from the thread id and the
timestamp) into a single non-legacy entry, which is much faster to copy or
skip. The preceding timestamp now has a distinct Kind (`TimeBeforeCompactStack`)
to know whether to handle legacy entries of the new `CompactStack` entry kind.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:23:00 +00:00
Gerald Squelart
738f482766 Bug 1578329 - profiler_can_accept_markers(), don't store markers when paused - r=gregtatum
profiler_can_accept_markers() is a fast and racy check that markers would
currently be stored, it should be used around potentially-expensive calls to
add markers.

And now markers are no longer stored when the profiler is paused. (Note that the
profiler is paused when a profile is being stored, this will help make this
operation faster.)

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:21:50 +00:00
Gerald Squelart
a8b053c3b1 Bug 1578327 - Discard old data just before streaming - r=gregtatum
Since all profiler data is now stored inside ProfileBuffer, there is no real
need to continuously discard old data during sampling (this was particularly
useful to reclaim memory taken by old markers&payloads).

Instead, we can now just discard the old data once, just before starting to
stream it to JSON.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:21:32 +00:00
Gerald Squelart
58ac06a047 Bug 1576555 - Remove unneeded ProfilerMarker - r=gregtatum
Now that what was in ProfilerMarker is stored directly in `BlocksRingBuffer`,
there is no need for this class anymore!
This also removes all the pointer management around it (when added to a TLS
list, moved during sampling, deleted when expired).

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:21:20 +00:00