Open hatched-MaciejPrzybylski opened 3 months ago
Can you please provide details on which version of the SDK you are using, what android SDK version you are targeting, and the android device information?
android target: 33 flybyy version 2.10.0
SDK version 2.10.0 and higher require targeting Android 14. Please see these upgrade instructions as there are some small changes that need to be addressed.
We updated the Android target to 34 and the flybuy version to 2.12.0
And still, we see the issue:
BTW how android target version can fix ConcurrentModificationException
error?
Fatal Exception: java.util.ConcurrentModificationException:
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029)
at java.util.ArrayList$Itr.next(ArrayList.java:982)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.b(SourceFile:639)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.a(SourceFile:381)
at com.radiusnetworks.flybuy.sdk.pickup.service.l.invokeSuspend(SourceFile:4)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
Do you have any steps to reproduce the issue? If not, can you provide details on what method you are calling when this happens? If it's happening on startup, please provide details on how you are initializing the SDK.
We initialize the SDK as how it is on the instruction. The issue is rare and we don't have the reproduce steps but I think ConcurrentModificationException is kind a bug of issue that is hard to reproduce. Please check your code. ConcurrentModificationException is a programming issue. Your code is not thread-safe and there should be no more questions for Us. In the stack trace, there is no app package, it is thrown from your service, and we can not even catch that issue and ignore it. Please read this https://docs.oracle.com/javase/8/docs/api/java/util/ConcurrentModificationException.html
I check the binary code and U just assigns a reference of one list and uses on that list two operations (I don't know what operations but 2 on the same reference ) this can make that error especially that CoroutineScopeKt.CoroutineScope(Dispatchers.getIO());
is used. Use the copy() method or other thread-safe operation
flybuy sdk is very low quality. You have stack trace so I assume you can read it
Unfortunately, the stack trace is obfuscated. Please update to v2.12.1 (just released) that fixes a bug that was preventing us from getting crash logs on our end.
We updated the SDK to v2.12.1 as U asked and we still see the issue: As U see from the stack trace there are no package names, the fatal issue comes from your SDK. Please fix that. BTW we see the new issue with permissions but I will create new ticket for that.
Fatal Exception: java.util.ConcurrentModificationException:
at java.util.ArrayList$Itr.next(ArrayList.java:860)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.b(SourceFile:639)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.a(SourceFile:381)
at com.radiusnetworks.flybuy.sdk.pickup.service.l.invokeSuspend(SourceFile:4)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
We updated the SDK to v2.12.12 and we still see the issue: As you see from the stack trace there are no package names from the app, the fatal issue comes from your SDK.
Fatal Exception: java.util.ConcurrentModificationException:
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1029)
at java.util.ArrayList$Itr.next(ArrayList.java:982)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.b(SourceFile:639)
at com.radiusnetworks.flybuy.sdk.pickup.helper.c.a(SourceFile:381)
at com.radiusnetworks.flybuy.sdk.pickup.service.m.invokeSuspend(SourceFile:4)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)