Open Bug 1848436 Opened 3 years ago Updated 2 years ago

Intermittent test failure - < HistoryStorageMiddlewareTest.WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked >

Categories

(Firefox for Android :: History, defect, P3)

All
Android
defect

Tracking

()

REOPENED
118 Branch
Tracking Status
firefox118 --- affected

People

(Reporter: jonalmeida, Unassigned)

Details

Attachments

(2 files)

[task 2023-08-11T21:27:09.491Z]   TEST: WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked
[task 2023-08-11T21:27:09.491Z]   FAILURE
[task 2023-08-11T21:27:09.591Z] 
[task 2023-08-11T21:27:09.591Z] java.lang.AssertionError
[task 2023-08-11T21:27:09.592Z] 	at org.junit.Assert.fail(Assert.java:87)
[task 2023-08-11T21:27:09.593Z] 	at org.junit.Assert.assertTrue(Assert.java:42)
[task 2023-08-11T21:27:09.594Z] 	at org.junit.Assert.assertTrue(Assert.java:53)
[task 2023-08-11T21:27:09.594Z] 	at org.mozilla.fenix.library.history.state.HistoryStorageMiddlewareTest$WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked$1.invokeSuspend(HistoryStorageMiddlewareTest.kt:216)
[task 2023-08-11T21:27:09.595Z] 	at org.mozilla.fenix.library.history.state.HistoryStorageMiddlewareTest$WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked$1.invoke(HistoryStorageMiddlewareTest.kt)
[task 2023-08-11T21:27:09.596Z] 	at org.mozilla.fenix.library.history.state.HistoryStorageMiddlewareTest$WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked$1.invoke(HistoryStorageMiddlewareTest.kt)
[task 2023-08-11T21:27:09.597Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1$1.invokeSuspend(TestBuilders.kt:314)
[task 2023-08-11T21:27:09.598Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1$1.invoke(TestBuilders.kt)
[task 2023-08-11T21:27:09.598Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1$1.invoke(TestBuilders.kt)
[task 2023-08-11T21:27:09.599Z] 	at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:44)
[task 2023-08-11T21:27:09.600Z] 	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1.invokeSuspend(TestBuilders.kt:310)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1.invoke(TestBuilders.kt)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt$runTest$2$1.invoke(TestBuilders.kt)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.test.TestBuildersJvmKt$createTestResult$1.invokeSuspend(TestBuildersJvm.kt:14)
[task 2023-08-11T21:27:09.601Z] 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
[task 2023-08-11T21:27:09.601Z] 	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.test.TestBuildersJvmKt.createTestResult(TestBuildersJvm.kt:13)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt.runTest-8Mi8wO0(TestBuilders.kt:308)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.test.TestBuildersKt.runTest-8Mi8wO0(Unknown Source)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.test.TestBuildersKt__TestBuildersKt.runTest-8Mi8wO0(TestBuilders.kt:166)
[task 2023-08-11T21:27:09.602Z] 	at kotlinx.coroutines.test.TestBuildersKt.runTest-8Mi8wO0(Unknown Source)
[task 2023-08-11T21:27:09.602Z] 	at mozilla.components.support.test.rule.HelpersKt.runTestOnMain-VtjQ1oo(Helpers.kt:56)
[task 2023-08-11T21:27:09.602Z] 	at mozilla.components.support.test.rule.HelpersKt.runTestOnMain-VtjQ1oo$default(Helpers.kt:41)
[task 2023-08-11T21:27:09.602Z] 	at org.mozilla.fenix.library.history.state.HistoryStorageMiddlewareTest.WHEN a specified time frame is deleted THEN browser store is informed, storage deletes time frame, and callback is invoked(HistoryStorageMiddlewareTest.kt:195)
[task 2023-08-11T21:27:09.602Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[task 2023-08-11T21:27:09.602Z] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[task 2023-08-11T21:27:09.602Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[task 2023-08-11T21:27:09.602Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[task 2023-08-11T21:27:09.602Z] 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
[task 2023-08-11T21:27:09.602Z] 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[task 2023-08-11T21:27:09.602Z] 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
[task 2023-08-11T21:27:09.602Z] 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[task 2023-08-11T21:27:09.602Z] 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
[task 2023-08-11T21:27:09.603Z] 	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
[task 2023-08-11T21:27:09.603Z] 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:108)
[task 2023-08-11T21:27:09.603Z] 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:57)
[task 2023-08-11T21:27:09.603Z] 	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:39)
[task 2023-08-11T21:27:09.603Z] 	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
[task 2023-08-11T21:27:09.603Z] 	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:52)
[task 2023-08-11T21:27:09.604Z] 	at jdk.internal.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
[task 2023-08-11T21:27:09.604Z] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[task 2023-08-11T21:27:09.604Z] 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
[task 2023-08-11T21:27:09.604Z] 	at jdk.proxy2/jdk.proxy2.$Proxy5.processTestClass(Unknown Source)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113)
[task 2023-08-11T21:27:09.604Z] 	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65)
[task 2023-08-11T21:27:09.604Z] 	at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
[task 2023-08-11T21:27:09.604Z] 	at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)

A quick peek at this test, and it looks like the failure is coming from the callbackInvoked assertion, probably because in the middleware, that callback is invoked specifically on the Main dispatcher, which the unit test doesn't have control over.

Can we skip this for now? It seems to be failing pretty frequently and causing pain for PRs trying to merge.

Flags: needinfo?(jonalmeida942)

Yeah, let's. I'll put up a change to disable the test now.

Flags: needinfo?(jonalmeida942)
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: qe-verify+
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch

Re-opening as the attached patch is to temporarily disable the test.

Status: RESOLVED → REOPENED
Flags: qe-verify+
Resolution: FIXED → ---

The severity field is not set for this bug.
:vdreghici, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(Vlad.DreghiciPopa)
Severity: -- → S4
Flags: needinfo?(Vlad.DreghiciPopa)
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: