Commit Graph

7158 Commits

Author SHA1 Message Date
Sylvestre Ledru
73c3845699 Bug 1592964 - Detail the minimal version of jsdoc expected r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51265

--HG--
extra : moz-landing-system : lando
2019-11-02 08:19:46 +00:00
Gerald Squelart
59ae42cf8b Bug 1592887 - Gecko Profiler range starts at 1, discard Base Profile when >1 - r=florian
The buffer range starts at 1 (the first valid entry, 0 is reserved as
null marker). So if it now starts *after* 1, it means we have started to
overwrite our oldest data, and we should get rid of Base profiles if any.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 13:49:53 +00:00
Andrew Halberstadt
8517435648 Bug 1592766 - Fix some errors in the |mach try fuzzy| docs, DONTBUILD, r=egao
Differential Revision: https://phabricator.services.mozilla.com/D51177

--HG--
extra : moz-landing-system : lando
2019-10-31 00:31:47 +00:00
Andrew Halberstadt
3e56188d46 Bug 1591977 - [lint.rustfmt] Don't print issues if --fix is passed in, r=sylvestre
This matches the behaviour of the other linters.

Depends on D50822

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:30:10 +00:00
Andrew Halberstadt
d4533429eb Bug 1591977 - [lint.rustfmt] Fix error when running 'mach lint -l rustfmt --fix', r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D50822

--HG--
extra : moz-landing-system : lando
2019-10-30 21:30:27 +00:00
Gerald Squelart
1824e6f651 Bug 1584190 - In JSON profile, counters' sample_groups should be an array of objects - r=canaltinova
profile.counters[n].sample_groups was mistakenly streamed as an object, which
prevents having more than one, and goes against the published format
documentation.

The front-end was implemented to process the incorrect format, so it will need
to be updated as well; hence the version change to 18.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 22:20:06 +00:00
Gerald Squelart
9afa65594d Bug 1579333 - Replace doAtLeastOnePeriodicSample() with nsIProfiler.waitOnePeriodicSampling() - r=gregtatum
Instead of requesting profiles until it "seems" to have collected something,
use `nsIProfiler.waitOnePeriodicSampling()` to really wait for a sample to be
taken.

Note that this means some test could theoretically fail if they were in fact
waiting for stack samples to appear in the first registered thread. If that
happens, these tests should be udpated to do that extra wait-for-data.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:20 +00:00
Gerald Squelart
9bcbe1a229 Bug 1579333 - nsIProfiler.waitOnePeriodicSampling() - r=gregtatum,froydnj
`nsIProfiler.waitOnePeriodicSampling()` returns a promise that gets resolved
after the next full periodic sampling. The promise is rejected if the sampler is
not running.

Implementation detail: `Promise` uses single-threaded ref-counting, so special
care is needed not to touch it in the sampler thread. Safe ref-counting is
handled by `nsMainThreadPtrHolder` and `nsMainThreadPtrHandle`. And the promise
is only resolved/rejected on the main thread.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:11 +00:00
Gerald Squelart
403ddd8cdf Bug 1579333 - profiler_callback_after_sampling() - r=gregtatum
Register a callback to be invoked the next time the Sampler thread ends its
periodic loop.
Registration may fail (e.g., if the profiler is not active), in which case the
callback is never called.
After successful registration the callback is guaranteed to be invoked after the
sampler runs, or stops running.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 21:50:07 +00:00
Gregory Mierzwinski
a5c682a5cd Bug 1592400 - Update Browsertime version used in-tree. r=perftest-reviewers,rwood,dpalmeiro
This patch updgrades the current version used in-tree so that browsertime works with chrome, it currently timesout with that browser.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 17:23:56 +00:00
Julian Descottes
c87fb76740 Bug 1591013 - Support lazyImporter in reject-some-requires r=Standard8,nchevobbe
Depends on D50466

reject-some-requires only supports require/lazyRequireGetter at the moment
We still have a few call sites for lazyImporter, even though they probably should be
migrated to lazyRequireGetter IMO.

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

--HG--
extra : moz-landing-system : lando
2019-10-30 08:31:16 +00:00
Jonathan Watt
e4ec992ba0 Bug 1591118. Make 'mach doc' provide a clearer error message when jsdoc is missing. r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D50485

--HG--
extra : moz-landing-system : lando
2019-10-24 21:38:28 +00:00
Gurzau Raul
29cef09b45 Backed out 2 changesets (bug 1591013) for eslint failure at inspector/node.js on a CLOSED TREE.
Backed out changeset 5d53ab2f3152 (bug 1591013)
Backed out changeset d888aded0e70 (bug 1591013)
2019-10-30 00:56:04 +02:00
Julian Descottes
a2bad4c3c2 Bug 1591013 - Support lazyImporter in reject-some-requires r=Standard8,nchevobbe
Depends on D50466

reject-some-requires only supports require/lazyRequireGetter at the moment
We still have a few call sites for lazyImporter, even though they probably should be
migrated to lazyRequireGetter IMO.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 22:10:00 +00:00
prathiksha
f70c312dac Bug 1563355 - Remove AboutNetErrorSetAutomatic and use RPM in aboutNetError.js to communicate with AboutNetErrorHandler.jsm. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D46154

--HG--
extra : moz-landing-system : lando
2019-10-28 20:38:45 +00:00
Andrew Halberstadt
6368d98850 Bug 1591195 - [lint.shellcheck] Ensure shellcheck subprocess output is returned as text, r=sylvestre
This also adds a test which would have caught the issue.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 17:41:24 +00:00
Nicolas Chevobbe
d76b60f122 Bug 1519103 - Remove Scratchpad panel. r=bgrins.
Differential Revision: https://phabricator.services.mozilla.com/D50583

--HG--
extra : moz-landing-system : lando
2019-10-27 09:05:58 +00:00
Gerald Squelart
735dc941aa Bug 1540340 - Prevent ProfilerIOInterposeObserver recursive locking - r=gregtatum
The source of deadlock is due to profiler->lock->IO->interposer->profiler->lock
loops, where the second profiler call tries to lock the profiler mutex again.

Thanks to `profiler_is_locked_on_current_thread` the interposer can now check
whether the mutex is already locked, in which case it just won't call profiler
functions anymore, breaking the loop.

And now the profiler doesn't need to manually pause/resume/unregister the
(potential) interposer when doing I/Os.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 21:28:55 +00:00
Gerald Squelart
f41e95f095 Bug 1540340 - PSMutex can more accurately determine if the current thread owns the lock - r=njn,gregtatum
PSMutex can store the id of the thread owning the lock, and it's safe to check
whether the current thread owns that lock (either it does and no-one else can
change it, or it's another id).

Comments related to memory hooks have been moved to memory_hooks.cpp, because
`profiler_is_locked_on_current_thread()` could be used for other things.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 03:13:50 +00:00
Simon Fraser
9543684c8f Bug 1590820 Improve preview pane performance in 'mach try fuzzy -s' r=ahal
Refactored the recursion to improve its reliability, and added a caching layer.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 18:34:52 +00:00
Sylvestre Ledru
ba7c03e388 Bug 1590310 - Hide the copyright section by default r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D50028

--HG--
extra : moz-landing-system : lando
2019-10-22 17:37:38 +00:00
Julian Seward
15bcf2d929 Bug 1584976 - LUL on x86_64-{android, linux}: accept .eh_frame with type as either SHT_PROGBITS or SHT_X86_64_UNWIND. r=mstange.
The LUL unwinder on x86_64-android and x86_64-linux tries to read Dwarf unwind
information from the ELF section named ".eh_frame", and expects the section to
have type SHT_PROGBITS.  It appears that that section might instead have the
type SHT_X86_64_UNWIND, possibly as a result of recent toolchain (linker?)
changes.  This patch tracks that change.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 16:26:09 +00:00
Mihai Alexandru Michis
9fe7c34350 Backed out 2 changesets (bug 1540340) for causing bustages in shared-libraries-linux.cc and profiler/core/platform.cpp CLOSED TREE
Backed out changeset 4ee4cde55851 (bug 1540340)
Backed out changeset be6a82fd75e9 (bug 1540340)
2019-10-24 09:24:15 +03:00
Gerald Squelart
638c8cdc32 Bug 1540340 - Prevent logging when mainthredio is enabled - r=gregtatum
Logging could be intercepted by the I/O interposer, which takes the lock, this
could deadlock if the mutex had already been taken in the same thread (e.g., by
a "locked" profiler function that wants to log something).

Now, functions that hold the lock must use `LOG_LOCKED(lock, ...)`, which will
skip logging when the I/O interposer is running.
In DEBUG builds, `LOG()` checks that the lock is not owned, to find possible
misuses.

`LOG()`s outside of platform.cpp were changed to `NS_WARNING`s, because they
could not access `gPSMutex` that's defined in platform.cpp; and they're really
warnings anyway.

Some interposer pauses/resumes have been relocated to more appropriate spots:
- Not needed around `locked_profiler_stream_json_for_this_process` anymore,
  thanks to `LOG_LOCKED` inside.
- Definitely needed around `std::ofstream` operations in
  `locked_profiler_save_profile_to_file`.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 05:55:02 +00:00
Gerald Squelart
574e6bc487 Bug 1540340 - PSMutex can more accurately determine if the current thread owns the lock - r=njn,gregtatum
PSMutex can store the id of the thread owning the lock, and it's safe to check
whether the current thread owns that lock (either it does and no-one else can
change it, or it's another id).

Comments related to memory hooks have been moved to memory_hooks.cpp, because
`profiler_is_locked_on_current_thread()` could be used for other things.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 05:54:49 +00:00
Simon Fraser
13db391fa4 Bug 1590410 mach try fuzzy --show-estimates, add percentile r=ahal
A requested addition to the estimates in the preview pane, showing how large the requested set of tasks is compared to everyone else's set.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 19:46:33 +00:00
Andi-Bogdan Postelnicu
336c0275ee Bug 1590415 - Remove deprecated code from the Coverity model file. r=sylvestre
Depends on D50065

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

--HG--
extra : moz-landing-system : lando
2019-10-22 16:38:50 +00:00
Sylvestre Ledru
7b84f5581b Bug 1590314 - treeherder: document 'Attach new jobs from the review' r=marco
Differential Revision: https://phabricator.services.mozilla.com/D50029

--HG--
extra : moz-landing-system : lando
2019-10-22 16:41:11 +00:00
Stephen Donner
1ac49dc296 Bug 1589203: Browsertime's --setup ImageMagick binary link for macOS is 404/outdated/broken. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D49491

--HG--
extra : moz-landing-system : lando
2019-10-22 14:37:07 +00:00
Nazım Can Altınova
809db7ead1 Bug 1587907 - Move test content inside the BrowserTestUtils.withNewTab function callback r=gregtatum
In Bug 1587907 we got some contentPid not found errors. It seemed like we were
failing intermittently at getting content pid. After moving test content inside
the BrowserTestUtils.withNewTab callback, we won't get the same error anymore.
Also from my testing, it looks like it makes the test execution faster. We were
getting some intermittents before because of the timeouts, these will be fixed
if my testing is correct.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 16:43:31 +00:00
Gerald Squelart
0e19d51a0a Bug 1583431 - Test "No Stack Sampling" feature - r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D49234

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:14 +00:00
Gerald Squelart
edd497462f Bug 1583431 - Don't wait for samples in marker-only tests - r=gregtatum,julienw
Since markers are stored directly into the buffer:
- We don't need to wait for a sampling run to collect them,
- No markers are left uncollected between the last sampling and the time we stop
  the profiler.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:07 +00:00
Gerald Squelart
d57761d32e Bug 1583431 - stopProfilerNowAndGetThreads doesn't wait for samples - r=julienw
`stopProfilerAndGetThreads()` waits until at least one sample appears in the
main thread, before capturing a profile and stopping the profiler.

`stopProfilerNowAndGetThreads()` does not wait; this should be useful in tests
that may not generate any samples (e.g., using the nostacksampling feature).

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

--HG--
extra : moz-landing-system : lando
2019-10-22 05:37:00 +00:00
Jim Porter
9354dfda4a Bug 1557447 - Profiler support for IPC information; r=nika,smaug
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 20:51:07 +00:00
Mihai Alexandru Michis
c59792871c Bug 1587180 - Fix linting issue regarding tools/lint/libpref/__init__.py a=lint-fix 2019-10-21 23:47:26 +03:00
Kristen Wright
5eac06f458 Bug 1587180 - 4. Write a test for Lintpref r=ahal
Adds a test for Lintpref and two test files. Also makes some adjustments to `lintpref.yml` to improve support file loading.

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

--HG--
extra : moz-landing-system : lando
2019-10-21 19:23:08 +00:00
Kristen Wright
e1a7b2036e Bug 1585421 - Expand the usage of Lintpref into more pref files r=ahal
Adds the filepaths of more pref files to Lintpref as well as to its TaskCluster entry. All of the pref files added are noted in bug 1585421.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 22:31:38 +00:00
Kristen Wright
a3b1f5c4f4 Bug 1587180 - 3. Have lintpref understand the value field r=glandium
Teaches Lintpref to look at `value` matches when considering possible duplicates.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 22:31:38 +00:00
Kristen Wright
d816dae614 Bug 1587180 - 2. Improve Lintpref's pattern-matching r=glandium
Replaces the basic pattern-matching in the linter with a more robust regexp. This regexp can strip `name` and `value` from the pref, which will be useful in part 3 of bug 1587180.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:26:36 +00:00
Kristen Wright
4f72d58f26 Bug 1587180 - 1. Have Lintpref look for the files included in Lintpref.yml. r=ahal
Rather than statically loading the path to `all.js`, Lintpref should look at any file paths in `lintpref.yml`. Also added the `path` field to each error to accommodate multiple files, and a few other code tidiness cleanups.

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

--HG--
extra : moz-landing-system : lando
2019-10-16 00:06:25 +00:00
Tom Tung
a55521f246 Bug 1587394 - Bypass the lint check for the pref; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D49745

--HG--
extra : moz-landing-system : lando
2019-10-21 14:48:04 +00:00
Nicolas Chevobbe
02cfc079ff Bug 1588999 - Rename ObjectClient to ObjectFront. r=ochameau.
The object-client.js file is now a proper protocol.js front,
but is still named after a client.
This is confusing, so we rename and move the file next to other
fronts, and update all consumers to the new terminology.

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

--HG--
rename : devtools/client/debugger/packages/devtools-reps/src/object-inspector/tests/__mocks__/object-client.js => devtools/client/debugger/packages/devtools-reps/src/object-inspector/tests/__mocks__/object-front.js
rename : devtools/shared/client/object-client.js => devtools/shared/fronts/object.js
extra : moz-landing-system : lando
2019-10-21 12:07:10 +00:00
Kristen Wright
3d06abd056 Bug 1588650 - Remove duplicate prefs from mobile.js r=njn
Removes all of the duplicate prefs from mobile.js and StaticPrefList.yaml where the `value` field is the same. Carries over comments from mobile.js where needed.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:24:14 +00:00
Andrew Halberstadt
0912d6c960 Bug 1583360 - [mozbuild] Make reader.find_sphinx_variables a little more generic, r=nalexander
The BuildReader's 'find_sphinx_variables' function is hardcoded to look for the
SPHINX_TREES and SPHINX_PYTHON_PACKAGE_DIRS variables. But it's otherwise
implemented to find any arbitrary variable (as long as they are a simple list
or dict).

This change simply moves the variable name(s) to the function call. The comment
about possibly wanted to use a higher level AST library to parse other kinds of
variables still applies, but for now this change is good enough to suit my
needs.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 14:05:49 +00:00
Daniel Varga
8fdca46bc7 Backed out changeset 2923afce519a (bug 1557447) for browser chrome failure at tools/profiler/tests/browser/browser_test_feature_preferencereads.js. On a CLOSED TREE 2019-10-18 07:54:09 +03:00
Jim Porter
80bfcd6e57 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 02:56:02 +00:00
Dorel Luca
efd52379da Backed out changeset cd4dc0ae3364 (bug 1557447) for Browser-chrome failures in build/src/obj-firefox/dist/include/mozilla/BlocksRingBuffer.h 2019-10-18 03:59:06 +03:00
Jim Porter
db91ad6767 Bug 1557447 part 2 - Remove unnecessary declarations from bug 1575448; r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D46389

--HG--
extra : moz-landing-system : lando
2019-10-17 23:39:44 +00:00
Jim Porter
641b95fb72 Bug 1557447 - Profiler support for IPC information; r=nika
This adds the ability to add profile markers for both the sender and recipient
sides of IPC messages. These can then be correlated with one another in the
profile visualization. For the UI component of this patch, see
<https://github.com/firefox-devtools/profiler/pull/2172>.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 23:39:42 +00:00
Simon Fraser
9739fcee53 Bug 1589358 Force update of older fzf versions r=jlorenzo
If 'fzf' was installed by mach, then check it's up to date and force update if needed.

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

--HG--
extra : moz-landing-system : lando
2019-10-17 13:17:29 +00:00