After upgrading to 1.6.21 from 1.5.21 we are getti...
# coroutines
r
After upgrading to 1.6.21 from 1.5.21 we are getting fatal reports of
kotlinx.coroutines.JobCancellationException
,
kotlinx.coroutines.TimeoutCancellationException
in firebase crashlytics. We are not able to reproduce this ourself. Any help appreciated?
t
Make sure that Crashlytics don't catch all exceptions, especially in coroutines. These 2 subclasses of CancellationException are used internally by the Kotlin coroutine machinery, ans should not be taken into account by crash reporters.
r
That what my understanding was that these should not be logged as they are CancellationExceptions.
Make sure that Crashlytics don’t catch all exceptions, especially in coroutines
did you meant to ask if we are adding and exception handler and logging it ourself. Then no we aren’t doing this. This is being logged as a fatal crash in crashlytics. So this is crashing the app for sure.
t
What is your version of Kotlin and kotlinx.coroutines ? Coroutines may not work properly when used with a incompatible major version of Kotlin
r
You might be right. Even though i mentioned we migrated from 1.5.21. i tried resolving dependencies and found we were pointing to 1.6.1 (due to some lib’s internal dependency) and coroutine version was 1.6.1 too. After upgrading to 1.6.21, coroutine version still stayed at 1.6.1 and might have become incompatible.
Thanks for the assist. will try moving them to same versions and will update here.
Also wondering does this means we can’t upgrading to kotlin 1.7 then. since i can’t see a coroutine release with similar version. https://github.com/Kotlin/kotlinx.coroutines/releases
t
You're right, Kotlinx.coroutines documentation lacks some kind of compatibility table with the language version My assumption is that 1.6.4 is compatible with 1.7 and newer
r
was trying to find more on this. and found this. it seems we were in recommended the range of versions. https://kotlinlang.org/docs/releases.html#release-details