This CL is unrelated to the test: https://chromium-review.googlesource.com/c/chromium/src/+/1313837/2
Build:
The first and third android-kitkat builds passed: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-kitkat-arm-rel/116728
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-kitkat-arm-rel/118398
The second failed:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/android-kitkat-arm-rel/118269
In this build, the test fails 4 times in 'with patch' shard:
https://chromium-swarm.appspot.com/task?id=40fde720799c8910&refresh=10&show_raw=1
Pass exactly once in 'without patch' shard:
https://chromium-swarm.appspot.com/task?id=40fdfacbc7fa3e10&refresh=10&show_raw=1
Fails 4 times in 'retry with patch' shard:
https://chromium-swarm.appspot.com/task?id=40fe176451fdf310&refresh=10
The failure itself looks like a shutdown race:
"""
970.215s Main [FAILURE] org.chromium.chrome.browser.TabsTest#testTabsAreDestroyedOnModelDestruction:
C 970.216s Main java.lang.AssertionError: Operation is not allowed after destroy()
C 970.216s Main at org.chromium.base.UserDataHost.checkThreadAndState(UserDataHost.java:62)
C 970.216s Main at org.chromium.base.UserDataHost.getUserData(UserDataHost.java:87)
C 970.216s Main at org.chromium.chrome.browser.tab.TabBrowserControlsOffsetHelper.from(TabBrowserControlsOffsetHelper.java:67)
C 970.216s Main at org.chromium.chrome.browser.fullscreen.FullscreenManager.setFullscreenManager(FullscreenManager.java:126)
C 970.216s Main at org.chromium.chrome.browser.fullscreen.FullscreenManager.setTab(FullscreenManager.java:115)
C 970.216s Main at org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager.setTab(ChromeFullscreenManager.java:242)
C 970.216s Main at org.chromium.chrome.browser.fullscreen.FullscreenManager.destroy(FullscreenManager.java:196)
C 970.216s Main at org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager.destroy(ChromeFullscreenManager.java:705)
C 970.216s Main at org.chromium.chrome.browser.ChromeActivity.onDestroy(ChromeActivity.java:1334)
C 970.216s Main at android.app.Activity.performDestroy(Activity.java:5403)
C 970.216s Main at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1117)
C 970.216s Main at android.support.test.runner.MonitoringInstrumentation.callActivityOnDestroy(MonitoringInstrumentation.java:519)
C 970.216s Main at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3470)
C 970.216s Main at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3501)
C 970.216s Main at android.app.ActivityThread.access$1400(ActivityThread.java:135)
C 970.216s Main at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1249)
C 970.216s Main at android.os.Handler.dispatchMessage(Handler.java:102)
C 970.216s Main at android.os.Looper.loop(Looper.java:136)
C 970.216s Main at android.app.ActivityThread.main(ActivityThread.java:5001)
C 970.216s Main at java.lang.reflect.Method.invokeNative(Method.java)
C 970.216s Main at java.lang.reflect.Method.invoke(Method.java:515)
C 970.216s Main at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
C 970.216s Main at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
C 970.216s Main at dalvik.system.NativeStart.main(NativeStart.java)
"""
Next steps:
* Figure out shutdown race [low priority]
* Figure out why the test appears deterministically flaky
Comment 1 by erikc...@chromium.org
, Dec 4