Crash: While closing multiple tabs and doing Undo - java.lang.IllegalArgumentException: Tab with same ID already exists #23583
Comments
This just seems the effect of #23582 so will look into how can that issue be prevented. |
This should be rechecked after #23435 which seems to address the same underlying issue. |
The changes in 23435 have been merged. I tried to reproduce the crash but it seems fixed. @sunilk9211 can you please check if you can reproduce the issue ? |
@Alexandru2909 It seems fixed to me also. Could not reproduce it. |
Seems to be fixed on the latest Nightly, on the other hand, it's reproducible on Firefox 98.0.0 Beta 1 using a OnePlus A3 Android 6.0.1 Prerequisites: STR:
20220210_060813.mp4ee1b167b-a8cd-41c9-bdae-911d5261a7f7
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException |
Steps to reproduce
Found this when reproducing #23582 .
Expected behaviour
Should not cause crash.
Actual behaviour
It's crashing.
Device name
Xiaomi Redmi 9A
Android version
Android 10
Firefox release type
Firefox Nightly
Firefox version
98.0
Device logs
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) ... 1 more Caused by: mozilla.components.lib.state.StoreException: Exception while reducing state at mozilla.components.lib.state.Store$exceptionHandler$1$1.run(Store.kt:1) at android.os.Handler.handleCallback(Handler.java:914) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:225) at android.app.ActivityThread.main(ActivityThread.java:7563) ... 3 more Caused by: java.lang.IllegalArgumentException: Tab with same ID already exists at mozilla.components.browser.state.reducer.TabListReducerKt.access$requireUniqueTab(TabListReducer.kt:4) at mozilla.components.browser.state.reducer.TabListReducer.reduce(TabListReducer.kt:156) at mozilla.components.browser.state.store.BrowserStore$1.invoke(BrowserStore.kt:356) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$chain$1.invoke(ReducerChainBuilder.kt:7) at mozilla.components.browser.state.engine.middleware.CrashMiddleware.invoke(CrashMiddleware.kt:3) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.WebExtensionMiddleware.invoke(WebExtensionMiddleware.kt:15) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.SuspendMiddleware.invoke(SuspendMiddleware.kt:9) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.TabsRemovedMiddleware.invoke(TabsRemovedMiddleware.kt:24) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.LinkingMiddleware.invoke(LinkingMiddleware.kt:21) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.CreateEngineSessionMiddleware.invoke(CreateEngineSessionMiddleware.kt:18) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.state.engine.middleware.EngineDelegateMiddleware.invoke(EngineDelegateMiddleware.kt:23) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at org.mozilla.fenix.tabstray.SearchTermTabGroupMiddleware.invoke(SearchTermTabGroupMiddleware.kt:3) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at org.mozilla.fenix.historymetadata.HistoryMetadataMiddleware.invoke(HistoryMetadataMiddleware.kt:50) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.media.middleware.LastMediaAccessMiddleware.invoke(LastMediaAccessMiddleware.kt:3) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.search.middleware.AdsTelemetryMiddleware.invoke(AdsTelemetryMiddleware.kt:51) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.prompts.PromptMiddleware.invoke(PromptMiddleware.kt:18) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.media.middleware.RecordingDevicesMiddleware.invoke(RecordingDevicesMiddleware.kt:3) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.search.middleware.SearchMiddleware.invoke(SearchMiddleware.kt:12) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.search.region.RegionMiddleware.invoke(RegionMiddleware.kt:7) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.session.middleware.undo.UndoMiddleware.invoke(UndoMiddleware.kt:36) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.browser.thumbnails.ThumbnailsMiddleware.invoke(ThumbnailsMiddleware.kt:46) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at org.mozilla.fenix.telemetry.TelemetryMiddleware.invoke(TelemetryMiddleware.kt:29) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.readerview.ReaderViewMiddleware.invoke(ReaderViewMiddleware.kt:43) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.downloads.DownloadMiddleware.invoke(DownloadMiddleware.kt:66) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.recentlyclosed.RecentlyClosedMiddleware.invoke(RecentlyClosedMiddleware.kt:47) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.feature.session.middleware.LastAccessMiddleware.invoke(LastAccessMiddleware.kt:8) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$threadCheck$1.invoke(ReducerChainBuilder.kt:10) at mozilla.components.lib.state.internal.ReducerChainBuilder$build$1$1.invoke(ReducerChainBuilder.kt:3) at mozilla.components.lib.state.Store$dispatch$1.invokeSuspend(Store.kt:4) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:3) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:18) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919)
Additional information
No response
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: