Closed Bug 1678895 Opened 4 years ago Closed 3 years ago

Intermittent org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_xxx.html

Categories

(Core :: Panning and Zooming, defect)

Unspecified
All
defect

Tracking

()

RESOLVED FIXED
93 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox-esr91 --- unaffected
firefox91 --- wontfix
firefox92 --- wontfix
firefox93 --- fixed

People

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

References

Details

(Keywords: assertion, intermittent-failure, Whiteboard: [stockwell disable-recommended])

Attachments

(2 files)

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


[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | Expected: <2>
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test |      but: was <1>
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.Assert.assertThat(Assert.java:956)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.checkThat(GeckoSessionTestRule.java:826)
[task 2020-11-22T08:52:29.610Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.BaseSessionTest.assertThat(BaseSessionTest.kt:104)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.PanZoomControllerTest.touchEventForResultWithPreventDefault(PanZoomControllerTest.kt:431)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at java.lang.reflect.Method.invoke(Native Method)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1313)
[task 2020-11-22T08:52:29.611Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$sIbRNaZJgAu-QrUVWSGD8JbPSWM.run(lambda)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at android.os.Looper.loop(Looper.java:154)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at java.lang.reflect.Method.invoke(Native Method)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test |
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: current=400
[task 2020-11-22T08:52:29.612Z] 08:52:29     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS_CODE: -2
[task 2020-11-22T08:52:29.613Z] 08:52:29  WARNING -  TEST-UNEXPECTED-FAIL | org.mozilla.geckoview.test.PanZoomControllerTest.touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html
[task 2020-11-22T08:52:29.613Z] 08:52:29     INFO -  TEST-INFO took 4661ms```

resetting priority so we can evaluate at triage

Priority: P5 → --

Has anyone made any changes recently that could be causing these spikes in failures?

Component: General → Panning and Zooming
Product: GeckoView → Core

6c6f5da9-bf33-4082-a19d-7d99e8083d97 Mass rename intermittents due to Bug 1723034.

Summary: Intermittent org.mozilla.geckoview.test.PanZoomControllerTest.touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html → Intermittent org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html

Update:
There have been 81 failures within the last 7 days:
• 25 failures on android-em-7-0-x86_64-lite-qr debug
• 1 failures on android-em-7-0-x86_64-lite-qr opt
• 27 failures on Android 7.0 x86-64 WebRender debug
• 23 failures on Android 7.0 x86-64 WebRender debug-isolated-process
• 2 failures on android-em-7-0-x86_64-shippable-lite-qr opt
• 3 failures on Android 7.0 x86-64 Shippable WebRender opt
Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=347595197&repo=autoland&lineNumber=9592

[task 2021-08-06T00:59:25.605Z] 00:59:25     INFO -  TEST-START | org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: numtests=796
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stream=
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | Error in touchEventForResultWithPreventDefault(org.mozilla.geckoview.test.PanZoomControllerTest):
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | Expected: <2>
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test |      but: was <1>
[task 2021-08-06T00:59:31.379Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.Assert.assertThat(Assert.java:956)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.checkThat(GeckoSessionTestRule.java:824)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.BaseSessionTest.assertThat(BaseSessionTest.kt:115)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.PanZoomControllerTest.touchEventForResultWithPreventDefault(PanZoomControllerTest.kt:432)
[task 2021-08-06T00:59:31.380Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at java.lang.reflect.Method.invoke(Native Method)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1315)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$cmP_QJg-X16GIlt8KIQd32egmfU.run(lambda)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2021-08-06T00:59:31.381Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at android.os.Handler.handleCallback(Handler.java:751)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at android.os.Looper.loop(Looper.java:154)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at java.lang.reflect.Method.invoke(Native Method)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test |
[task 2021-08-06T00:59:31.382Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
<...>
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  08-06 00:59:31.059 D/GeckoViewConsole( 3475): onEvent GeckoView:WebExtension:List null
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  08-06 00:59:31.062 I/Gecko   ( 3475): nsWindow[0x751f30712000]::Show 0
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  08-06 00:59:31.063 E/GeckoSessionTestRule( 3475): test_end c5ee677f-bc83-49bd-9e28-2d35f3d0f059 touchEventForResultWithPreventDefault(org.mozilla.geckoview.test.PanZoomControllerTest)
[task 2021-08-06T00:59:31.546Z] 00:59:31  WARNING -  TEST-UNEXPECTED-FAIL | org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  TEST-INFO took 5874ms
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: numtests=796
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stream=
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
[task 2021-08-06T00:59:31.546Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: test=scrollToHorizontalAuto
[task 2021-08-06T00:59:31.547Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: class=org.mozilla.geckoview.test.PanZoomControllerTest
[task 2021-08-06T00:59:31.547Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: current=400
[task 2021-08-06T00:59:31.547Z] 00:59:31     INFO -  org.mozilla.geckoview.test | INSTRUMENTATION_STATUS_CODE: 1
[task 2021-08-06T00:59:31.547Z] 00:59:31     INFO -  TEST-START | org.mozilla.geckoview.test.PanZoomControllerTest#scrollToHorizontalAuto
Whiteboard: [stockwell needswork:owner]

Botond, as the owner of this component, could you help us assign it to someone?
Thank you.

Flags: needinfo?(botond)

Hiro, you wrote this test, perhaps you could take a look at this failure?

Flags: needinfo?(botond) → needinfo?(hikezoe.birchill)

Yep, sure. (I wasn't aware of the fact that this failure is getting frequent)

Assignee: nobody → hikezoe.birchill
Status: NEW → ASSIGNED
Flags: needinfo?(hikezoe.birchill)

I've figured out a reliable way to make the test pass properly.

A big fault I was missing is onFirstContentfulPaint doesn't make sure there's no pending paint requests, it's just fired on the first contentful paint, thus we sometimes start testing before we have finished preparing for the test (e.g. addEventListener or some such).

We need to import promiseAllPaintsDone in paint_listener.js to make sure there's no pending paint requests.

This function will be used in the next commit to make sure there's no remaining
paint requests before proceeding each test cases. This code was mostly copied
and pasted from the commit when we introduced flushApzRepaints in bug 1660357.

This promiseAllPaintsDone is a simplified version of promiseAllPaintsDone in
paint_listener.js. Though the paint_listener version is supposed to be loaded
and supposed to wait for MozAfterPaint, whereas this version is supposd to wait
for MozAfterPaint events when it gets called, it's a compromise but it will
work as expected in most cases.

The first-contentful-paint doesn't ensure there's no more pending paint requests,
so if there's still pending paint requests and if one of the requests was an
important request to make sure our hit testing machinery works as expected (for
example, addEventListener triggers a paint request [1]), test doesn't work as
expected.

[1] https://searchfox.org/mozilla-central/rev/bb5549df90f9b0f5b453f9d8e872a94e503c64a6/dom/events/EventListenerManager.cpp#478

Depends on D122310

See Also: → 1678120
See Also: → 1675210
See Also: → 1677707
See Also: → 1676423
See Also: → 1675657
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d7f0b173486f Add GeckoSessionTestRule.promiseAllPaintsDone to make sure all pending paints have been finished. r=geckoview-reviewers,agi https://hg.mozilla.org/integration/autoland/rev/4adccb916a0c Wait for PageStop and call promiseAllPaintsDone instead of waiting for the first-contentful-paint. r=geckoview-reviewers,agi
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 93 Branch
Summary: Intermittent org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_98vh_no_scrollable.html → Intermittent org.mozilla.geckoview.test.PanZoomControllerTest#touchEventForResultWithPreventDefault | java.lang.AssertionError: The input result should be HANDLED_CONTENT in /assets/www/iframe_xxx.html
See Also: 1678120
See Also: 1675210
See Also: 1677707
See Also: 1676423
See Also: 1675657
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: