Я получаю довольно много фатальных сообщений о сбоях в Crashlytics, которые, кажется, вызваны отменой сопрограммы.И я понятия не имею, как это исправить, и я не смог воспроизвести его.
Ошибка в Crashlytics:
Fatal Exception: java.lang.RuntimeException: Unable to destroy activity {...ui.main.MainActivity}: kotlinx.coroutines.JobCancellationException: Job was cancelled; job=SupervisorJobImpl{Cancelled}@1ad5bcf
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4682)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4700)
at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1926)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:6981)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1445)
и
Caused by kotlinx.coroutines.JobCancellationException: Job was cancelled
Мой MainActivity
не SupervisorJob
, но все мои Fragment
расширяют базовый класс, который имеет SupervisorJob
.Базовый фрагмент также вызывает SupervisorJob.cancelChildren()
в методе onStop
.
Есть идеи, как это решить?Или даже как собрать больше информации о том, где / почему это происходит?Я не смог воспроизвести это сам, но это происходит довольно редко в полевых условиях.