Closed Bug 1841432 Opened 1 year ago Closed 10 months ago

High freq /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html | the <source> media attribute: no reaction to environment change - assert_equals: afterEnvChange expected "#a"

Categories

(Core :: DOM: Core & HTML, defect)

defect

Tracking

()

RESOLVED FIXED
120 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox118 --- unaffected
firefox119 --- unaffected
firefox120 --- fixed

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, intermittent-testcase, regression, Whiteboard: [stockwell needswork:owner][retriggered], [wptsync upstream])

Attachments

(2 files)

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


[task 2023-07-02T11:37:40.294Z] 11:37:40     INFO - TEST-START | /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html
[task 2023-07-02T11:37:40.311Z] 11:37:40     INFO - Closing window fc3e2b63-d093-4c19-a9f7-ccf08f8d6ab1
[task 2023-07-02T11:37:40.717Z] 11:37:40     INFO - 
[task 2023-07-02T11:37:40.717Z] 11:37:40     INFO - TEST-UNEXPECTED-PASS | /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html | the <source> media attribute: no reaction to environment change - expected FAIL
[task 2023-07-02T11:37:40.717Z] 11:37:40     INFO - TEST-INFO | expected FAIL
[task 2023-07-02T11:37:40.728Z] 11:37:40     INFO - TEST-OK | /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html | took 423ms
[task 2023-07-02T11:37:40.730Z] 11:37:40     INFO - PID 7188 | 1688297860729	Marionette	INFO	Stopped listening on port 53198
[task 2023-07-02T11:37:41.392Z] 11:37:41     INFO - PID 7188 | [Parent 1708, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.402Z] 11:37:41     INFO - PID 7188 | [GPU 7632, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.413Z] 11:37:41     INFO - PID 7188 | [Parent 1708, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.413Z] 11:37:41     INFO - PID 7188 | [GPU 7632, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.413Z] 11:37:41     INFO - PID 7188 | console.error: ({})
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [Parent 1708, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [GPU 7632, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [Parent 1708, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [GPU 7632, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [Parent 1708, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.424Z] 11:37:41     INFO - PID 7188 | [GPU 7632, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.705Z] 11:37:41     INFO - Browser exited with return code 0
[task 2023-07-02T11:37:41.707Z] 11:37:41     INFO - Closing logging queue
[task 2023-07-02T11:37:41.708Z] 11:37:41     INFO - queue closed
[task 2023-07-02T11:37:41.830Z] 11:37:41     INFO - Application command: Z:\task_168829301422369\build\application\firefox\firefox.exe -marionette about:blank --wait-for-browser -profile C:\Users\task_168829301422369\AppData\Local\Temp\tmpa5uxdw3f
[task 2023-07-02T11:37:41.840Z] 11:37:41     INFO - PID 5796 | 1688297757807	Marionette	INFO	Marionette enabled
[task 2023-07-02T11:37:41.840Z] 11:37:41     INFO - PID 5796 | 1688297757880	Marionette	INFO	Listening on port 53210
[task 2023-07-02T11:37:41.841Z] 11:37:41     INFO - PID 5796 | JavaScript error: resource://gre/modules/XULStore.sys.mjs, line 60: Error: Can't find profile directory.
[task 2023-07-02T11:37:41.842Z] 11:37:41     INFO - PID 5796 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-07-02T11:37:41.842Z] 11:37:41     INFO - PID 5796 | [Parent 7808, IPC I/O Parent] WARNING: DuplicateHandle failed for handle 0 in TransferHandles: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:621
[task 2023-07-02T11:37:41.843Z] 11:37:41     INFO - PID 5796 | [GPU 9032, IPC I/O Child] WARNING: pipe error: 232: file /builds/worker/checkouts/gecko/ipc/chromium/src/chrome/common/ipc_channel_win.cc:443
[task 2023-07-02T11:37:41.844Z] 11:37:41     INFO - PID 5796 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-07-02T11:37:41.844Z] 11:37:41     INFO - PID 5796 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-07-02T11:37:41.845Z] 11:37:41     INFO - PID 5796 | console.error: (new Error("Unexpected content-type \"text/plain;charset=US-ASCII\"", "resource://services-settings/Utils.sys.mjs", 399))
[task 2023-07-02T11:37:41.846Z] 11:37:41     INFO - PID 5796 | console.error: (new Error("Polling for changes failed: Unexpected content-type \"text/plain;charset=US-ASCII\".", "resource://services-settings/remote-settings.sys.mjs", 324))
[task 2023-07-02T11:37:41.847Z] 11:37:41     INFO - Starting runner
[task 2023-07-02T11:37:43.133Z] 11:37:43     INFO - TEST-START | /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media.html

Done retriggers and backfills up to here

Scott, it seems that from your push it started to frequently fail, can you please take a look?

Thanks

Flags: needinfo?(scottjehl)
Keywords: regression
Regressed by: 1836128
Whiteboard: [stockwell needswork:owner] → [stockwell needswork:owner][retriggered]

Maybe the layout flush isn't enough and we need the test to be tighter.

Summary: Intermittent /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html | single tracking bug → High freq /html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-env-change.html | the <source> media attribute: no reaction to environment change - assert_equals: afterEnvChange expected "#a"

Set release status flags based on info from the regressing bug 1836128

@padenot do you think this alternative test setup might be worth considering? Is it easy to test if it makes a difference in the environments where the test is flakey? https://phabricator.services.mozilla.com/D189416#6278406

Flags: needinfo?(scottjehl)

Yeah, just attach a patch modifying the file in this bug and I can retrigger a bunch to make sure it's solid.

@padenot looks like it wants me to do a full rebuild to test this change, which I recall taking quite a while on my machine. I'll add a patch here in case you are able to test it sooner, as it looks correct to my eye at least, but I will have to leave a build running for a bit before I can test it myself locally

Since you don't modify any C++, you can run the test in a regular nightly Firefox.

Thanks! Okay, that helped me debug this.

So I noticed the flakiness locally as well, which is good. I updated to a promise.all pattern, which does seem to make the test series more reliable.

However, I noticed that there seems to be a problem in the tests' use of the delayed-broken-video.py video file, which fails as a supported source format and seems to cause Firefox to select to the next source element (which also fails, but that ends up as the currentSrc in the end regardless). Does that sound like expected behavior?

I can confirm that if I use the promise pattern along with a path to a playable video ("/media-source/mp4/test.mp4" is one I found), then the tests are running reliably, passing reliably in both Nightly and Safari while expectedly failing the third test in unsupported browsers like Firefox Stable and Chrome. Is it okay to use that mp4 video path instead of the broken-video.py?

I'll attach a patch for that.

It's probably OK then. There's is a js function that returns a URL to a playable media file but I don't have a link handy.

Assignee: nobody → scottjehl
Status: NEW → ASSIGNED

After a number of rettrigers, no failure (was about 6% failure before): https://treeherder.mozilla.org/jobs?repo=try&revision=4200318d069de6e3cb26f8156d8badec660b9e38

Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/029a69533eb9
change test setup to rely on promises that the child iframe will resolve and also use a supported and playable  video source so that source selection sticks. r=padenot
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/42361 for changes under testing/web-platform/tests
Whiteboard: [stockwell needswork:owner][retriggered] → [stockwell needswork:owner][retriggered], [wptsync upstream]

Great to hear, @padenot!

Upstream PR was closed without merging

Ah a race between us landing and the wpt sync bot updating expectations. I'll fix this.

@pademot did the new patch end up running into problems as well?

Flags: needinfo?(scottjehl)

No, we just got unlucky and the wpt-bot merged new expectations' data while we were landing this fix.

Oh! Good to hear

Pushed by padenot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3c24e7fdc1f3
change test setup to rely on promises that the child iframe will resolve and also use a supported and playable  video source so that source selection sticks. r=padenot
https://hg.mozilla.org/integration/autoland/rev/961131493c60
Adjust expectations after fixing resource-selection-source-media-env-change.html
Status: ASSIGNED → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: