run xpcshell in the correct variant (no-fission || fission || 1proc)
Categories
(Testing :: XPCShell Harness, task)
Tracking
(firefox101 fixed)
Tracking | Status | |
---|---|---|
firefox101 | --- | fixed |
People
(Reporter: jmaher, Assigned: jmaher, NeedInfo)
References
(Depends on 1 open bug)
Details
Attachments
(2 files, 1 obsolete file)
add a no-fission variant to firefox ci taskcluster configs:
https://searchfox.org/mozilla-central/source/taskcluster/ci/test/variants.yml
This bug will add this variant, and then set xpcshell to be xpcshell-no-fission by default.
When this bug is done further bugs can edit e10s specific tests as no-fission.
Assignee | ||
Comment 1•3 years ago
|
||
I am not sure what xpcshell should be run in. :nika, do you have any thoughts on this?
Comment 2•3 years ago
|
||
I believe that we currently don't modify fission.autostart when running xpcshell, so the default configuration will technically run with fission enabled (though most xpcshell tests are not run against the browser prefs.js, so it has no impact as e10s is disabled). If this is the case, we should continue running xpcshell tests with fission enabled.
Assignee | ||
Comment 3•3 years ago
|
||
ok, for now I will move these to -fis so it is clear. for android I need to confirm, but probably -nofis.
Assignee | ||
Comment 4•3 years ago
|
||
I took a look at this and it was a mess on try. We run xpcshell and xpcshell_socketprocess_networking (spi-nw) just about everywhere. What I find is that running the tests as fission or no-fission, normal xpcshell had a few issues but spi-nw was a mess. After many try runs I have a relatively green run (some intermittents):
https://treeherder.mozilla.org/jobs?repo=try&revision=cfa00001b205301e474ff0ee587093ccfe12c2e3
I am concerned that explicitly enabling or disabling fission is causing so many failures- specifically in -spi-nw, but also in regular xpcshell.
I have added :kershaw (primary contact of spi-nw) and :mccr8 (helped look into fission specific failures). I have
there are 104 comments I have, and 90 of them are socketprocess_networking specific (14 would be needed without socketprocess). Of these 14, 1 skips a directory toolkit/mozapps/update/tests/unit_service_updater/xpcshell.ini
for win/asan, which isn't scheduled normally, but is showing up on try.
Some of the socketprocess skip-ifs are for entire manifests, specifically in the extensions directory:
https://searchfox.org/mozilla-central/source/toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
:nika, do you have suggestions of how to proceed here?
Comment 5•3 years ago
|
||
I'm a bit curious about how you're force-enabling Fission for these tests, because in many of these cases I would expect Fission to not successfully enable, as IIRC by-default xpcshell is run with both e10s and fission disabled unless the firefox-appdir = browser
annotation is added to the xpcshell.ini file (e.g. https://searchfox.org/mozilla-central/search?q=firefox-appdir&path=&case=true®exp=false). If you're force-enabling e10s as well, I expect that some of these tests will be failing because they were previously run with e10s disabled.
I'm not super certain how the spi-nw enabling works as well, but there's also a chance for an interaction there.
Other than that, it seems there are some failures in toolkit/components/extensions
. I know webextensions are one of the heaviest users of xpcshell tests for browser-like things, so I'll ni? :zombie on this bug to potentially look into what's happening there (although many of the lines you added in https://hg.mozilla.org/try/rev/81ecb8bc305ad472b971c22d362e2abb21840a7b appear to be commented out?)
Assignee | ||
Comment 6•3 years ago
|
||
I was double checking many of my assertions and those commented out items were the remaining bits- my local patch has those cleaned up and that is where I harvested the numbers regarding 104 skip-if conditions added.
fission enabled and no-fission is just adding a variant which is done via a pref:
fission:
description: "{description} with fission enabled"
contact: cpeterson
suffix: "fis"
merge:
mozharness:
extra-options:
- "--setpref=fission.autostart=true"
no-fission:
description: "{description} without fission enabled"
contact: jmaher
suffix: "nofis"
merge:
mozharness:
extra-options:
- "--setpref=fission.autostart=false"
the spi-nw
variant also sets prefs:
mozharness:
extra-options:
- "--setpref=network.process.enabled=true"
- "--setpref=network.http.network_access_on_socket_process.enabled=true"
- "--setpref=network.ssl_tokens_cache_enabled=true"
Maybe :kershaw has more context on socketprocess_networking.
My ultimate goal is to figure out how to run xpcshell properly so we can reduce confusion in Treeherder about what we are running. I want to do this before removing -fis
from treeherder as it is default, but xpcshell is sort of in limbo.
Comment 7•3 years ago
|
||
Maybe :kershaw has more context on socketprocess_networking.
My ultimate goal is to figure out how to run xpcshell properly so we can reduce confusion in Treeherder about what we are running. I want to do this before removing
-fis
from treeherder as it is default, but xpcshell is sort of in limbo.
Sorry that I currently have no idea why there so many test failures when fission and socket process are both enabled.
Do you have a list of failed tests? I could try to debug it.
Assignee | ||
Comment 8•3 years ago
|
||
Assignee | ||
Comment 9•3 years ago
|
||
:kershaw, in the attached patch look for socketprocess_networking # TODO
and you will see many instances. That patch can be applied and pushed to try.
heavily concentrated in these manifests:
toolkit/components/extensions/test/xpcshell/xpcshell-content.ini
toolkit/components/antitracking/test/xpcshell/xpcshell.ini
toolkit/components/extensions/test/xpcshell/xpcshell-e10s.ini
toolkit/components/extensions/test/xpcshell/xpcshell-remote.ini
toolkit/mozapps/update/tests/unit_aus_update/xpcshell.ini
toolkit/components/search/tests/xpcshell/xpcshell.ini
Assignee | ||
Comment 10•3 years ago
|
||
checking in here- any updates? need any more information?
Updated•3 years ago
|
Updated•3 years ago
|
Comment 11•3 years ago
|
||
(In reply to Joel Maher ( :jmaher ) (UTC -0800) from comment #10)
checking in here- any updates? need any more information?
Sorry that I don't have time to work on this for now.
I think it's fine to disable the failed tests for socketprocess_networking
with fission.
Assignee | ||
Comment 12•3 years ago
|
||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 13•3 years ago
|
||
For anybody investigating these failures locally, as Nika said, Fission is on by default when you run XPCShell via mach or whatever. If you want to run it without Fission for comparison purposes you can do something like this: mach xpcshell-test --setpref fission.autostart=false
Comment 14•3 years ago
|
||
Comment 15•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Comment 16•3 years ago
|
||
Comment 17•3 years ago
|
||
@Joel, I fixed a typo in xpcshell-content.ini, causing bug 1763198 and I saw that test [test_ext_contentscript_permissions_fetch.js] is passing and maybe it shouldn't be skipped.
Comment 18•3 years ago
|
||
bugherder |
Assignee | ||
Comment 19•3 years ago
|
||
thanks for fixing the typo, the test still fails on linux/debug-spi-nw-nofis:
https://treeherder.mozilla.org/jobs?repo=try&tier=1%2C2%2C3&revision=13b6d2c0aed01e914c43739ceb9c379fc12bf766
Comment 20•2 years ago
|
||
Since bug 1751492, xpcshell sets run-without-variant to false, so we
were filtering out all xpcshell tasks.
Description
•