We hit some limitations of the globbing system in exclude file, which
relies on glob.iglob and skips dotfiles...
As a side effect update the license to the one actually shipped with
libfuzzer.
Differential Revision: https://phabricator.services.mozilla.com/D190068
We hit some limitations of the globbing system in exclude file, which
relies on glob.iglob and skips dotfiles...
As a side effect update the license to the one actually shipped with
libfuzzer.
Differential Revision: https://phabricator.services.mozilla.com/D190068
This patch fixes an issue where the PerfDocLogger only produced an error when any file was changed which results in some odd behaviours. Now, when no files are changed, we produce a lint error that doesn't specify the file that contains the error. At the same time, a test is added for this.
Differential Revision: https://phabricator.services.mozilla.com/D189934
The statement "pushed 3 commits" can be confusing because the user has
actually pushed 2 of their own commits, plus one try config commit. Clarify
this in the command output.
Differential Revision: https://phabricator.services.mozilla.com/D189944
The path of GeckoView extension tests [1] are not included in the query,
because they would not be run anyway (bug 1826909).
[1]: mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/WebExtensionTest.kt
Differential Revision: https://phabricator.services.mozilla.com/D189869
Add support for submitting stacks of commits to Lando for queueing
on Try, instead of pushing to hg.mozilla.org directly. This patch
implements the Device Code Authorization flow for Auth0, simple changeset
discovery and patch gathering, and submissing to Lando via HTTP POST.
Add a `try.txt` virtualenv site that contains packages from the common
virtualenv as well as the `auth0-python` package for verifying Auth0
JWTs. Use this new virtualenv for `mach try` and related subcommands.
Add a `--push-to-lando` flag that controls whether the push will be made
via the Lando API or using the VCS to hg.mozilla.org directly.
Create a `lando.py` module in the `tryselect` package that handles the
details around submitting to Lando. Authentication is handled by the
Device Code Authorization flow, and the returned access token is saved
to the mozbuild state directory. Auth0 details are added to the `.lando.ini`
file in the repo root, and a `LANDO_TRY_USE_DEV` environment variable can
be set to control submitting to the prod or dev Lando environments.
This module also includes patch stack gathering and discovery via `mozversioncontrol`.
mozversioncontrol's `Repository` subclass is extended with helper functions
to gather patch files from Mercurial and Git. We also add a `try_config_commit`
context manager that creates a temporary commit to hold try syntax commit
messages and/or a `try_task_config.json` file, which is removed from version
control on submission.
The `mach try` cram tests now use a separate virtualenv that must be built
before running, causing unexpected output in the tests. Run `mach try --help`
in the test setup to force the virtualenv to be built before running any
test.
`mach try chooser` would previously install packages for a small web application
from a `requirements.txt` file when run. Install these via the new `try.txt`
site environment instead. The required dependencies are also added to the
`python-test.txt` site since they will cause some tests to fail due to the
missing dependencies.
Differential Revision: https://phabricator.services.mozilla.com/D187641
This is because the std is not located in the default location where the compiler
searches.
This is normal, but for autotest we don't generate a compile commands through the build
system, we generate a dummy one, with dummy paths so we need to transplant definitions
from std to the test files.
Differential Revision: https://phabricator.services.mozilla.com/D189619
To allow remote settings client to set fingerprinting overrides from
Javascript, we need to implement nsIRFPService for nsRFPService.
This patch changes the return format of nsRFPService::GetOrCreate() to
match the singleton implementation of nsIRFPService. As a result of it,
we need to change the first init call in nsContentUtils because we
cannot forward a already_AddRefed<> to mozilla::Unused. It will cause a
memory leak.
Differential Revision: https://phabricator.services.mozilla.com/D182809
Tail calls are doing some stack data manipulations, and profiler (iterator) needs to know how to find where caller RA and FP stored. A platform now preserves temporary registers used to store FP/RA using collapse frame operations.
Differential Revision: https://phabricator.services.mozilla.com/D183269
To allow remote settings client to set fingerprinting overrides from
Javascript, we need to implement nsIRFPService for nsRFPService.
This patch changes the return format of nsRFPService::GetOrCreate() to
match the singleton implementation of nsIRFPService. As a result of it,
we need to change the first init call in nsContentUtils because we
cannot forward a already_AddRefed<> to mozilla::Unused. It will cause a
memory leak.
Differential Revision: https://phabricator.services.mozilla.com/D182809
Fixed fallout from migration to clang-17 where clang-tidy checker
bugprone-swapped-arguments has its message changed a bit.
Differential Revision: https://phabricator.services.mozilla.com/D189211
Because we use an older version of Python than the one generally used on
the host system, this implied enforcing a few package requirements.
Differential Revision: https://phabricator.services.mozilla.com/D180057
Add separate entitlement lists for the parent process, plugin-container, and media-plugin-helper executables. Add a utility entitlement list to use for non-browser executables in developer builds to support debugging. For production codesigning versions, only allow loading of unsigned libraries by the media-plugin-helper executable. Limit most entitlements to the parent process executable.
A subsequent fix to taskcluster code will enable the new entitlements.
Other executables in the bundle will have no entitlements.
Differential Revision: https://phabricator.services.mozilla.com/D187245
InitializeWin64ProfilerHooks is called by the profiler to avoid deadlock
situations that can occur during stack walking. Actually, this is needed
not only for the profiler, but for any code that relies on stack
walking; and in particular the background hang monitor. So, let's move
this part outside of profiler code, and call it from the background
hang monitor.
Depends on D181435
Differential Revision: https://phabricator.services.mozilla.com/D181436
On Windows aarch64 and x64 builds, stack walking relies on
RtlLookupFunctionEntry. This can lead to deadlock, which we avoid in x64
builds by adding stack walking suppressions. We must do the same in
aarch64 builds to avoid the same deadlock situation, but we are
missing some stack walk suppression paths. Let's fix that.
Differential Revision: https://phabricator.services.mozilla.com/D181435