Bug 219897 - REGRESSION (r270806): [iOS] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html is frequently failing
Summary: REGRESSION (r270806): [iOS] imported/w3c/web-platform-tests/webaudio/the-audi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL: https://github.com/web-platform-tests...
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-12-15 09:52 PST by Ryan Haddad
Modified: 2020-12-16 12:42 PST (History)
15 users (show)

See Also:


Attachments
Patch (6.22 KB, patch)
2020-12-16 08:38 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2020-12-15 09:52:41 PST
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html has started failing frequently on iOS simulator release bots

--- /Volumes/Data/slave/ios-simulator-14-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt
+++ /Volumes/Data/slave/ios-simulator-14-release-tests-wk2/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-actual.txt
@@ -24,16 +24,16 @@
 PASS > [min-distance]
 PASS   Model: linear: Distance (0.01) is outside the range [1, 10000] is equal to true.
 PASS   Test panner output {"distance":0.01,"distanceModel":"linear"} is identical to the array [expected array].
-PASS   Model: exponential: Distance (0.01) is outside the range [1, 10000] is equal to true.
-PASS   Test panner output {"distance":0.01,"distanceModel":"exponential"} is identical to the array [expected array].
-PASS   Model: inverse: Distance (0.01) is outside the range [1, 10000] is equal to true.
-PASS   Test panner output {"distance":0.01,"distanceModel":"inverse"} is identical to the array [expected array].
-PASS   Model: linear: Distance (2) is outside the range [10, 1000] is equal to true.
-PASS   Test panner output {"distance":2,"distanceModel":"linear","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
 PASS   Model: exponential: Distance (2) is outside the range [10, 1000] is equal to true.
 PASS   Test panner output {"distance":2,"distanceModel":"exponential","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
 PASS   Model: inverse: Distance (2) is outside the range [10, 1000] is equal to true.
 PASS   Test panner output {"distance":2,"distanceModel":"inverse","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
+PASS   Model: linear: Distance (2) is outside the range [10, 1000] is equal to true.
+PASS   Test panner output {"distance":2,"distanceModel":"linear","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
+PASS   Model: inverse: Distance (0.01) is outside the range [1, 10000] is equal to true.
+PASS   Test panner output {"distance":0.01,"distanceModel":"inverse"} is identical to the array [expected array].
+PASS   Model: exponential: Distance (0.01) is outside the range [1, 10000] is equal to true.
+PASS   Test panner output {"distance":0.01,"distanceModel":"exponential"} is identical to the array [expected array].
 PASS < [min-distance] All assertions passed. (total 12 assertions)
 PASS > [max-distance]
 PASS   Model: linear: Distance (20000) is outside the range [1, 10000] is equal to true.
@@ -42,10 +42,10 @@
 PASS   Test panner output {"distance":21000,"distanceModel":"exponential"} is identical to the array [expected array].
 PASS   Model: inverse: Distance (23000) is outside the range [1, 10000] is equal to true.
 PASS   Test panner output {"distance":23000,"distanceModel":"inverse"} is identical to the array [expected array].
+PASS   Model: exponential: Distance (5000) is outside the range [10, 1000] is equal to true.
+PASS   Test panner output {"distance":5000,"distanceModel":"exponential","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
 PASS   Model: linear: Distance (5000) is outside the range [10, 1000] is equal to true.
 PASS   Test panner output {"distance":5000,"distanceModel":"linear","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
-PASS   Model: exponential: Distance (5000) is outside the range [10, 1000] is equal to true.
-PASS   Test panner output {"distance":5000,"distanceModel":"exponential","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
 PASS   Model: inverse: Distance (5000) is outside the range [10, 1000] is equal to true.
 PASS   Test panner output {"distance":5000,"distanceModel":"inverse","maxDistance":1000,"refDistance":10} is identical to the array [expected array].
 PASS < [max-distance] All assertions passed. (total 12 assertions)

https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fwebaudio%2Fthe-audio-api%2Fthe-pannernode-interface%2Fpanner-distance-clamping.html
Comment 1 Radar WebKit Bug Importer 2020-12-15 09:52:59 PST
<rdar://problem/72346130>
Comment 2 Ryan Haddad 2020-12-15 09:53:54 PST
The first failure on iOS appears at r270808. Maybe r270806 is related?
Comment 3 Ryan Haddad 2020-12-15 15:42:55 PST
I have confirmed the regression point is r270806. The test doesn't fail when run with r270805.

run-webkit-tests --ios-simulator imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping.html --no-retry --iterations 10 --force
Comment 4 Ryan Haddad 2020-12-15 15:45:10 PST
This only appears to be failing with release builds according to test history. Debug test runs are all green.
Comment 5 Ryan Haddad 2020-12-16 07:53:08 PST
Chris, would you please take a look to see if it is an easy fix or if we need to revert the change?
Comment 6 Chris Dumez 2020-12-16 08:23:54 PST
(In reply to Ryan Haddad from comment #5)
> Chris, would you please take a look to see if it is an easy fix or if we
> need to revert the change?

I will take a look now. This is just an issue with the test though, not a true regression from a change. This is a typical test doing a bunch of async operations in parallel and the order in which they complete is undetermined.
Comment 7 Chris Dumez 2020-12-16 08:38:26 PST
Created attachment 416339 [details]
Patch
Comment 8 EWS Watchlist 2020-12-16 08:39:17 PST
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
Comment 9 EWS 2020-12-16 12:42:54 PST
Committed r270903: <https://trac.webkit.org/changeset/270903>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416339 [details].