badoo / badoo/MVICore

IndexOutOfBoundsException in BaseFeature - DisposableCollection

Open
#153 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Kotlin
Stars
1.3k
Forks
88
PR merge metrics
No merged PRs in 30d

Description

Happens rarely on a Bootstrapper Wish emit and leads to crash

Caused by java.lang.IndexOutOfBoundsException
Index: 2, Size: 2

`java.util.ArrayList.remove (ArrayList.java:503)
kotlin.collections.CollectionsKt__MutableCollectionsKt.filterInPlace$CollectionsKt__MutableCollectionsKt (MutableCollections.kt:295)
kotlin.collections.CollectionsKt__MutableCollectionsKt.removeAll (MutableCollections.kt:269)
kotlin.collections.CollectionsKt.removeAll (CollectionsKt.java)
com.badoo.mvicore.feature.internal.DisposableCollection.add (DisposableCollection.kt:19)
com.badoo.mvicore.feature.internal.DisposableCollection.plusAssign (DisposableCollection.kt:25)
com.badoo.mvicore.feature.BaseFeature$ActorWrapper.processAction (BaseFeature.kt:140)
com.badoo.mvicore.feature.BaseFeature.invokeActor (BaseFeature.kt:115)
com.badoo.mvicore.feature.BaseFeature.access$invokeActor (BaseFeature.kt:20)
com.badoo.mvicore.feature.BaseFeature$1.accept (BaseFeature.kt:70)
io.reactivex.internal.observers.LambdaObserver.onNext (LambdaObserver.java:63)
io.reactivex.subjects.PublishSubject$PublishDisposable.onNext (PublishSubject.java:308)
io.reactivex.subjects.PublishSubject.onNext (PublishSubject.java:228)
com.badoo.mvicore.extension.RxKt$asConsumer$1.accept (Rx.kt:21)
com.badoo.mvicore.feature.BaseFeature$2$1$1.accept (BaseFeature.kt:81)
io.reactivex.internal.observers.LambdaObserver.onNext (LambdaObserver.java:63)
io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext (ObservableMap.java:62)
io.reactivex.internal.operators.observable.ObservableDistinctUntilChanged$DistinctUntilChangedObserver.onNext (ObservableDistinctUntilChanged.java:85)
io.reactivex.internal.util.NotificationLite.accept (NotificationLite.java:246)
io.reactivex.subjects.BehaviorSubject$BehaviorDisposable.test (BehaviorSubject.java:569)
io.reactivex.subjects.BehaviorSubject$BehaviorDisposable.emitNext (BehaviorSubject.java:564)
io.reactivex.subjects.BehaviorSubject.onNext (BehaviorSubject.java:268) `

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with DisposableCollection.kt at line 19 and follow its use from BaseFeature.kt lines 115 and 140 during a Bootstrapper Wish emission. Investigate the reported intermittent ArrayList IndexOutOfBoundsException and verify the reported crash no longer occurs for that action flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.