Closed Bug 1888231 Opened 2 years ago Closed 2 years ago

[Android Fission] Failures in toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js | single tracking bug

Categories

(WebExtensions :: General, defect)

defect

Tracking

(firefox126 fixed)

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: robwu)

References

Details

(Keywords: intermittent-testcase, Whiteboard: [fxdroid][addons-jira])

Attachments

(1 file)

Filed by: istorozhko [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=450963264&repo=try
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/eR00iwCLSvWiYzL-EwWEsQ/runs/0/artifacts/public/logs/live_backing.log


There are three failures for this test on Android Fission (with the mobile-specific High Value isolation strategy, i.e. `fission.webContentIsolationStrategy` pref set to `2`; both X and X-cf variants):

1. `TEST-UNEXPECTED-FAIL | xpcshell.toml:toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js | xpcshell return code: 0`
2. `TEST-UNEXPECTED-FAIL | xpcshell.toml:toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js | test_process_switch_cross_origin_frame - [test_process_switch_cross_origin_frame : 55] 1 != 1`
3. `TEST-UNEXPECTED-FAIL | xpcshell.toml:toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js | test_process_switch_cross_origin_frame - [test_process_switch_cross_origin_frame : 66] Extension left running at test shutdown - "running" == "unloaded"`
Severity: S4 → --
Priority: P5 → --

Fails on both variants, X and X-cf, on all Android builds with Fission enabled, with fission.webContentIsolationStrategy set to 2 (mobile-specific isolation strategy)

Blocks: 1885681
Whiteboard: [fxdroid]

The log message shows something interesting,

There are three failures for this test on Android Fission (with the mobile-specific High Value isolation strategy, i.e. fission.webContentIsolationStrategy pref set to 2; both X and X-cf variants):

I can reproduce locally on desktop as follows:

./mach xpcshell-test toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js --verbose --log-mach-verbose --sequential --setpref=fission.webContentIsolationStrategy=2

Now, potential values of this pref are documented at https://searchfox.org/mozilla-central/rev/f8258e49f277c1c881c5c0da95f463dd12b7397e/dom/ipc/ProcessIsolation.cpp#49-68 is:

  // All web content is loaded into a shared `web` content process. This is
  // similar to the non-Fission behaviour, however remote subframes may still
  // be used for sites with special isolation behaviour, such as extension or
  // mozillaweb content processes.
  IsolateNothing = 0,
  // Web content is always isolated into its own `webIsolated` content process
  // based on site-origin, and will only load in a shared `web` content process
  // if site-origin could not be determined.
  IsolateEverything = 1,
  // Only isolates web content loaded by sites which are considered "high
  // value". A site is considered "high value" if it has been granted a
  // `highValue*` permission by the permission manager, which is done in
  // response to certain actions.
  IsolateHighValue = 2,

The value of 2 thus implies that the "separate processes for subframes" aspect of Fission is NOT enabled for ALL sites, in particular not the test case in question. Thus the test fails because it detects that the iframe is in the same process as the parent, at https://searchfox.org/mozilla-central/rev/f8258e49f277c1c881c5c0da95f463dd12b7397e/toolkit/components/extensions/test/xpcshell/test_ext_contentscript_xorigin_frame.js#37-42,46-49,54-55

I think that a potential way to resolve this failure is to check that the fission.webContentIsolationStrategy pref is not 0 or 2 before treating remoteSubFrames as true near https://searchfox.org/mozilla-central/rev/f8258e49f277c1c881c5c0da95f463dd12b7397e/testing/modules/XPCShellContentUtils.sys.mjs#103,117

Assignee: nobody → rob
Status: NEW → ASSIGNED
Whiteboard: [fxdroid] → [fxdroid][addons-jira]

Marking as dependency of bug 1888235; I have to wait until the patch in the other bug lands (which adds a skip-if) and then update the patch here to remove the skip-if.

Depends on: 1888235
Pushed by rob@robwu.nl: https://hg.mozilla.org/integration/autoland/rev/ebf948386ed0 Fix test_ext_contentscript_xorigin_frame with Android + Fission r=zombie
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: