Page MenuHomeGitPull.it

Fix crash caused by concurrent modification of positions in 2.4.4
Closed, InvalidPublic

Description

Dear Developers of the amazing Free/Libre and Open Source app Libre BusTO ,
Please triage my crash:

Version code:
67

Version name:
2.4.4-gitdev

Android version:
15

Phone:
2211133G

Brand:
Xiaomi

Stack:
java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextNode(HashMap.java:1603)
	at java.util.HashMap$EntryIterator.next(HashMap.java:1636)
	at java.util.HashMap$EntryIterator.next(HashMap.java:1634)
	at it.reyboz.bustorino.backend.mato.MQTTMatoClient.clearOldPositions(MQTTMatoClient.kt:373)
	at it.reyboz.bustorino.viewmodels.LivePositionsViewModel$requestMatoPosUpdates$1.invokeSuspend(LivePositionsViewModel.kt:332)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
	at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:375)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:134)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:53)
	at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:44)
	at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
	at it.reyboz.bustorino.viewmodels.LivePositionsViewModel.requestMatoPosUpdates(LivePositionsViewModel.kt:329)
	at it.reyboz.bustorino.fragments.LinesDetailFragment.onResume(LinesDetailFragment.kt:1458)
	at androidx.fragment.app.Fragment.performResume(Fragment.java:3210)
	at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:666)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:310)
	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1685)
	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3319)
	at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3251)
	at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:285)
	at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:333)
	at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:322)
	at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:232)
	at android.app.Activity.performResume(Activity.java:9441)
	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:5733)
	at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:5778)
	at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:57)
	at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:60)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:237)
	at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:110)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:84)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2875)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loopOnce(Looper.java:249)
	at android.os.Looper.loop(Looper.java:337)
	at android.app.ActivityThread.main(ActivityThread.java:9608)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:615)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@3dab45a, Dispatchers.Main.immediate]


logcat (last 30 lines):

Thank you! :)

Generated with https://lab.reyboz.it/libre-busto/crash-report/ (P15)

Details

Reported By (original)
fabio.mazza

Event Timeline

valerio.bozzolan renamed this task from Fix crash caused by concurrent modification of positions to Fix crash caused by concurrent modification of positions in 2.4.4.Nov 24 2025, 11:03
valerio.bozzolan moved this task from Arriving 🔥 to 2.4.4 on the Libre BusTO board.
valerio.bozzolan edited projects, added Libre BusTO (2.4.4); removed Libre BusTO .