Intermittent org.mozilla.geckoview.test.TextInputDelegateTest#inputConnection_deleteSurroundingText[#<test>] | java.lang.AssertionError: Can delete empty text
Categories
(GeckoView :: General, defect, P1)
Tracking
(firefox87 wontfix, firefox88 wontfix, firefox89 fixed)
People
(Reporter: intermittent-bug-filer, Assigned: m_kato)
References
Details
(Keywords: assertion, intermittent-failure, Whiteboard: [stockwell disabled][geckoview:m89])
Attachments
(3 files)
Filed by: dluca [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=311345116&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/GyB1b5MBRyiDwCDnwCDcdQ/runs/0/artifacts/public/logs/live_backing.log
INFO - TEST-START | org.mozilla.geckoview.test.TextInputDelegateTest.inputConnection_deleteSurroundingText[#textarea]
[task 2020-07-29T00:21:05.707Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: numtests=750
[task 2020-07-29T00:21:05.707Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stream=
[task 2020-07-29T00:21:05.707Z] 00:21:05 INFO - org.mozilla.geckoview.test | Error in inputConnection_deleteSurroundingText[#textarea](org.mozilla.geckoview.test.TextInputDelegateTest):
[task 2020-07-29T00:21:05.708Z] 00:21:05 INFO - org.mozilla.geckoview.test | java.lang.AssertionError: Can delete empty text
[task 2020-07-29T00:21:05.708Z] 00:21:05 INFO - org.mozilla.geckoview.test | Expected: "foo"
[task 2020-07-29T00:21:05.708Z] 00:21:05 INFO - org.mozilla.geckoview.test | but: was "fooo"
[task 2020-07-29T00:21:05.708Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
[task 2020-07-29T00:21:05.708Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.Assert.assertThat(Assert.java:956)
[task 2020-07-29T00:21:05.709Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
[task 2020-07-29T00:21:05.709Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
[task 2020-07-29T00:21:05.709Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
[task 2020-07-29T00:21:05.709Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.checkThat(GeckoSessionTestRule.java:801)
[task 2020-07-29T00:21:05.710Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.BaseSessionTest.assertThat(BaseSessionTest.kt:85)
[task 2020-07-29T00:21:05.710Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertText(TextInputDelegateTest.kt:355)
[task 2020-07-29T00:21:05.710Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelection(TextInputDelegateTest.kt:398)
[task 2020-07-29T00:21:05.711Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelectionAt(TextInputDelegateTest.kt:406)
[task 2020-07-29T00:21:05.711Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelectionAt$default(TextInputDelegateTest.kt:405)
[task 2020-07-29T00:21:05.711Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.inputConnection_deleteSurroundingText(TextInputDelegateTest.kt:492)
[task 2020-07-29T00:21:05.711Z] 00:21:05 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-07-29T00:21:05.712Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2020-07-29T00:21:05.712Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2020-07-29T00:21:05.712Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2020-07-29T00:21:05.712Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2020-07-29T00:21:05.713Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1293)
[task 2020-07-29T00:21:05.713Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$sIbRNaZJgAu-QrUVWSGD8JbPSWM.run(lambda)
[task 2020-07-29T00:21:05.713Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2020-07-29T00:21:05.713Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-07-29T00:21:05.714Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-07-29T00:21:05.714Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Looper.loop(Looper.java:154)
[task 2020-07-29T00:21:05.714Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2020-07-29T00:21:05.714Z] 00:21:05 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-07-29T00:21:05.714Z] 00:21:05 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2020-07-29T00:21:05.715Z] 00:21:05 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2020-07-29T00:21:05.715Z] 00:21:05 INFO - org.mozilla.geckoview.test |
[task 2020-07-29T00:21:05.715Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
[task 2020-07-29T00:21:05.715Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: test=inputConnection_deleteSurroundingText[#textarea]
[task 2020-07-29T00:21:05.715Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: class=org.mozilla.geckoview.test.TextInputDelegateTest
[task 2020-07-29T00:21:05.716Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stack=java.lang.AssertionError: Can delete empty text
[task 2020-07-29T00:21:05.716Z] 00:21:05 INFO - org.mozilla.geckoview.test | Expected: "foo"
[task 2020-07-29T00:21:05.716Z] 00:21:05 INFO - org.mozilla.geckoview.test | but: was "fooo"
[task 2020-07-29T00:21:05.716Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
[task 2020-07-29T00:21:05.717Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.Assert.assertThat(Assert.java:956)
[task 2020-07-29T00:21:05.717Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
[task 2020-07-29T00:21:05.717Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
[task 2020-07-29T00:21:05.717Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
[task 2020-07-29T00:21:05.717Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule.checkThat(GeckoSessionTestRule.java:801)
[task 2020-07-29T00:21:05.718Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.BaseSessionTest.assertThat(BaseSessionTest.kt:85)
[task 2020-07-29T00:21:05.718Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertText(TextInputDelegateTest.kt:355)
[task 2020-07-29T00:21:05.718Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelection(TextInputDelegateTest.kt:398)
[task 2020-07-29T00:21:05.718Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelectionAt(TextInputDelegateTest.kt:406)
[task 2020-07-29T00:21:05.719Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.assertTextAndSelectionAt$default(TextInputDelegateTest.kt:405)
[task 2020-07-29T00:21:05.719Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.TextInputDelegateTest.inputConnection_deleteSurroundingText(TextInputDelegateTest.kt:492)
[task 2020-07-29T00:21:05.719Z] 00:21:05 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.GeckoSessionTestRule$2.lambda$evaluate$0$GeckoSessionTestRule$2(GeckoSessionTestRule.java:1293)
[task 2020-07-29T00:21:05.720Z] 00:21:05 INFO - org.mozilla.geckoview.test | at org.mozilla.geckoview.test.rule.-$$Lambda$GeckoSessionTestRule$2$sIbRNaZJgAu-QrUVWSGD8JbPSWM.run(lambda)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1950)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Handler.handleCallback(Handler.java:751)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Handler.dispatchMessage(Handler.java:95)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.os.Looper.loop(Looper.java:154)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at android.app.ActivityThread.main(ActivityThread.java:6077)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at java.lang.reflect.Method.invoke(Native Method)
[task 2020-07-29T00:21:05.721Z] 00:21:05 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test |
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: current=610
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS_CODE: -2
[task 2020-07-29T00:21:05.722Z] 00:21:05 WARNING - TEST-UNEXPECTED-FAIL | org.mozilla.geckoview.test.TextInputDelegateTest.inputConnection_deleteSurroundingText[#textarea] | java.lang.AssertionError: Can delete empty text
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - TEST-INFO took 410ms
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: numtests=750
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: stream=
[task 2020-07-29T00:21:05.722Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
[task 2020-07-29T00:21:05.723Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: test=editorInfo_default[#textarea]
[task 2020-07-29T00:21:05.723Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: class=org.mozilla.geckoview.test.TextInputDelegateTest
[task 2020-07-29T00:21:05.723Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS: current=611
[task 2020-07-29T00:21:05.723Z] 00:21:05 INFO - org.mozilla.geckoview.test | INSTRUMENTATION_STATUS_CODE: 1
[task 2020-07-29T00:21:05.723Z] 00:21:05 INFO - TEST-START | org.mozilla.geckoview.test.TextInputDelegateTest.editorInfo_default[#textarea]
Comment hidden (Intermittent Failures Robot) |
Updated•4 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 27•3 years ago
•
|
||
Hi Matt, there is an increase in failure rate which seems to be coming from bug 1675614, can you please take a look?
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 30•3 years ago
|
||
My patch just changed paint timings, which likely will have exacerbated an existing racy test.
I think it's up to the test owner to decide if they want to fix this, or disable it.
Comment 32•3 years ago
|
||
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•3 years ago
|
Comment 35•3 years ago
|
||
Pushed by archaeopteryx@coole-files.de: https://hg.mozilla.org/integration/autoland/rev/53b908d691d3 disable inputConnection_deleteSurroundingText on debug r=intermittent-reviewers,geckoview-reviewers,m_kato,jmaher
Updated•3 years ago
|
Comment 36•3 years ago
|
||
bugherder |
Assignee | ||
Comment 37•3 years ago
|
||
Ah, this tests is incorrect for last check. deleteSurroundingText(0, 0)
does nothing, so we shouldn't wait for input event.
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 41•3 years ago
|
||
Assignee | ||
Comment 42•3 years ago
•
|
||
I guess that this root cause is...
- deleteSurroundingText(1, 1) creates two replace transaction.
- 1st transaction is done then content removes
beforeLength
- 2nd transaction is done then content removes
afterLength
During both 2 and 3, deleteSurroundingText(0, 10) is called then shadow text is synced, Java side text is broken.
So I think that we can fix this by optimizing deleteSurroundingText. We shouldn't create 2 transactions by one deleteSurroundingText call.
Assignee | ||
Comment 43•3 years ago
|
||
Comment 44•3 years ago
|
||
Pushed by apavel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d29602bacbe6 update disabling condition for all platforms r=geckoview-reviewers,m_kato DONTBUILD
Assignee | ||
Comment 45•3 years ago
|
||
deleteSurroundingText may create multiple text transactions. This issue
occurs when multiple text transactions are dispatched to Gecko.
GeckoEditableSupport records text changes by Gecko then it notifies Java
of text changes. And it merges old text changes with new text changes by
AddIMETextChange to reduce JNI/Binder calls if possible.
This issue is that AddIMETextChange creates invalid text change range
by merging text change ranges.
Actually, TextChangeData already has merge function now, so we should use it
instead of own merge function in GeckoEditableSupport.
Comment hidden (Intermittent Failures Robot) |
Comment 47•3 years ago
|
||
bugherder |
Comment 48•3 years ago
|
||
Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/10ec0515d9ba Use TextChangeData.MergeWith instead. r=geckoview-reviewers,agi
Assignee | ||
Updated•3 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 50•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Comment 51•3 years ago
|
||
6c6f5da9-bf33-4082-a19d-7d99e8083d97 Mass rename intermittents due to Bug 1723034.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Description
•