Closed Bug 1781604 Opened 3 years ago Closed 3 months ago

Intermittent toolkit/components/extensions/test/mochitest/test_ext_canvas_resistFingerprinting.html | single tracking bug

Categories

(WebExtensions :: General, defect, P3)

defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: jmaher, Assigned: dshin)

References

Details

(Keywords: intermittent-failure, intermittent-testcase, Whiteboard: [stockwell unknown])

Attachments

(2 obsolete files)

No description provided.

Additional information about this bug failures and frequency patterns can be found by running: ./mach test-info failure-report --bug 1781604

Looking at the recent failures, a lot of them (maybe a little less than half?) seem to be:

test_ext_canvas_resistFingerprinting.html | Got correct pixel data for green - got 129, expected 128

That test is checking that extensions can still read canvas data, even with resistFingerprinting turned on (so that e.g. Firefox Screenshots can work).

It seems we're getting 129 instead of 128 in the green color channel occasionally -- possibly due to a rounding bug in WebRender or our canvas code. That's a little surprising but not catastrophic and not really relevant from a "does this work at all when resistFingerprinting is turned on" perspective.

We should probably add a special case to the test to allow 129 (maybe by checking for 129 explicitly, and if we've got that, then use todo_is rather than is to flag it as a known/allowed failure).

Assignee: nobody → dshin
Depends on: 1853758

Update

There have been 30 failures within the last 7 days:

  • 7 failures on Android 7.0 x86-64 Lite WebRender opt
  • 8 failures on Android 7.0 x86-64 WebRender debug/opt
  • 1 failure on Android 7.0 x86-64 Shippable WebRender opt
  • 5 failures on Linux 18.04 x64 WebRender asan opt
  • 5 failures on Linux 18.04 x64 WebRender opt/debug
  • 3 failures on OS X 10.15 WebRender opt/debug
  • 1 failure on OS X 10.15 WebRender Shippable opt

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=430125819&repo=autoland&lineNumber=9264

Whiteboard: [stockwell needswork:owner]

The random noise injection data is here, and seems to activate for turning resist fingerprinting feature on in any way. In which case, it makes the most sense to follow up with your suggestion of allowing 129 as well. Actually, it'd be intended:

  • The operation is a toggle with a single bit, and 128 ^ 1 == 129, 128 ^ 0 == 128
  • It also picks between 15-255 pixels to do this on, and does so in one color channel, as far as I can tell - so.. The upper bound probability for getting an off-by-one pixel on a green channel in a 100x100 canvas is 255/(1001003) = 0.85%, which seems to track with the failures/push rate.

So, it seems that the test expectation is incorrect - I'll file a change to this bug. EDIT: Right - this is one failure mode out of many, moving

Last bit is subject to injected random noise when in resist-fingerprinting mode.

Depends on: 1856676

Comment on attachment 9356368 [details]
Bug 1781604: For canvas resist-fingerprinting test, ignore last bit in retrieved color data. r=#layout-reviewers

Revision D189930 was moved to bug 1856676. Setting attachment 9356368 [details] to obsolete.

Attachment #9356368 - Attachment is obsolete: true
Depends on: 1856732
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

Comment 63's failure seems to be something pretty-broken with that particular run as a whole, not especially related to this test or the earlier failures here, which happened to manifest as a timeout in this test.

Earlier in the log, there's a bunch of graphics-related errors, like:

[task 2024-01-08T22:29:48.161Z] 22:29:48 INFO - GECKO(3332) | 1704752988161 Marionette DEBUG Closed connection 1
[task 2024-01-08T22:29:48.356Z] 22:29:48 INFO - GECKO(3332) | ###!!! ERROR: Potential deadlock detected:
[task 2024-01-08T22:29:48.356Z] 22:29:48 INFO - GECKO(3332) | === Cyclical dependency starts at
[task 2024-01-08T22:29:48.357Z] 22:29:48 INFO - GECKO(3332) | --- RecursiveMutex : gfxPlatformFontList lock calling context
[task 2024-01-08T22:29:48.357Z] 22:29:48 INFO - GECKO(3332) | [stack trace unavailable]

and:
[task 2024-01-08T22:39:15.486Z] 22:39:15 INFO - GECKO(3756) | [WARN webrender::device::gl] Missing optimized shader source for gpu_cache_update

and:
[task 2024-01-08T22:39:37.036Z] 22:39:37 INFO - GECKO(3756) | [Child 3757, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2628

Attachment #9384141 - Attachment is obsolete: true
Status: REOPENED → RESOLVED
Closed: 2 years ago10 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 10 months ago7 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 7 months ago6 months ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 6 months ago3 months ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: