Closed Bug 902132 Opened 6 years ago Closed 6 years ago

Disable some WebGL tests under ASan

Categories

(Core :: Canvas: WebGL, defect)

x86_64
All
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla26
Tracking Status
firefox-esr17 --- fixed

People

(Reporter: decoder, Assigned: decoder)

References

(Blocks 1 open bug)

Details

(Keywords: sec-want, Whiteboard: [asan][asan-test-blocker])

Attachments

(1 file, 1 obsolete file)

Due to bug 899802 (a bug in llvmpipe), we currently cannot run the WebGL tests under AddressSanitizer when running on TBPL. I suggest disabling the WebGL tests when using an ASan build and re-enabling them once we have upgraded to a fixed version of Mesa.
Attached patch Patch (obsolete) — Splinter Review
Assignee: nobody → choller
Status: NEW → ASSIGNED
Attachment #786479 - Flags: review?(jmaher)
Attachment #786479 - Flags: feedback?(bjacob)
Blocks: asan-tests
Comment on attachment 786479 [details] [diff] [review]
Patch

Review of attachment 786479 [details] [diff] [review]:
-----------------------------------------------------------------

this looks safe, we might be able to use the internal manifest of the harness to disable a few files and allow us to get a little bit of coverage.  I would do that if we don't get traction on the upgrade of the software.
Attachment #786479 - Flags: review?(jmaher) → review+
Comment on attachment 786479 [details] [diff] [review]
Patch

Review of attachment 786479 [details] [diff] [review]:
-----------------------------------------------------------------

This is sad (as Asan coverage there would be useful) but I understand we don't have a better option until the test slaves get an updated Mesa llvmpipe library.
Attachment #786479 - Flags: feedback?(bjacob) → feedback+
Okay, by trial and error I have found out that it's indeed a single test case that is responsible for the failure. It's the last test that completed before the crashing test (in fact any other test following seems to crash). Disabling this test turns mochitest-1 green:

conformance/limits/gl-max-texture-dimensions.html

We'll have to figure out a way now to only disable it under AddressSanitizer.
Summary: Disable WebGL tests under ASan → Disable some WebGL tests under ASan
Benoit, as I mentioned above, a single test is the cause for the failure, and any following test triggered the ASan error. I assume it might have caused some form of inconsistent state or memory corruption and that's why the following tests fail. My question is, should we only disable it under ASan? I'm afraid that it could generate failures in general under Mesa until we upgraded Mesa.
Flags: needinfo?(bjacob)
Great job on finding which of the test pages is specifically causing trouble. It's very much worth keeping ASan coverage on the rest of the WebGL tests!

In order to specifically avoid running this test page, just add it to the skipped_tests_linux_mesa.txt file.

I see in your patch that you can already detect at build-time, in the makefile, whether this is an ASan build. In the Makefile, below where we copy the files (the awkward 'tar' command) you could add a line like

echo conformance/limits/gl-max-texture-dimensions.html >> /path/to/skipped_tests_linux_mesa.txt

awkward but I'd r+ it ;-)
Flags: needinfo?(bjacob)
This patch just disables the test triggering the fault in Mesa. After discussing with bjacob, we decided to disable it entirely under Mesa, because even without ASan, it could possibly trigger other intermittent failures in the following tests.
Attachment #786479 - Attachment is obsolete: true
Attachment #790191 - Flags: review?(bjacob)
Comment on attachment 790191 [details] [diff] [review]
disable-webgl-test-mesa.patch

Review of attachment 790191 [details] [diff] [review]:
-----------------------------------------------------------------

Yes, good idea.
Attachment #790191 - Flags: review?(bjacob) → review+
https://hg.mozilla.org/mozilla-central/rev/86fce3a9aad0
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in before you can comment on or make changes to this bug.