DroidKaigi / conference-app-2019

The Official Conference App for DroidKaigi 2019 Tokyo
https://droidkaigi.jp/2019/en/
Apache License 2.0
816 stars 267 forks source link

Coroutine's error handling #455

Closed Pluu closed 5 years ago

Pluu commented 5 years ago

Overview (Required)

Steps To Reproduce

  1. Check out Master Version
  2. Run

Expected behavior

Env:

Additional context

2019-01-14 15:16:14.423 E/CrashlyticsCore: Failed to execute task.
    java.util.concurrent.TimeoutException
        at java.util.concurrent.FutureTask.get(FutureTask.java:206)
        at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:41)
        at com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:321)
        at com.crashlytics.android.core.CrashlyticsController$6.onUncaughtException(CrashlyticsController.java:301)
        at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:42)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)
        at kotlinx.coroutines.CoroutineExceptionHandlerImplKt.handleCoroutineExceptionImpl(CoroutineExceptionHandlerImpl.kt:35)
        at kotlinx.coroutines.CoroutineExceptionHandlerKt.handleExceptionViaHandler(CoroutineExceptionHandler.kt:52)
        at kotlinx.coroutines.StandaloneCoroutine.handleJobException(Builders.common.kt:163)
        at kotlinx.coroutines.JobSupport.tryFinalizeFinishingState(JobSupport.kt:225)
        at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:799)
        at kotlinx.coroutines.JobSupport.makeCompletingOnce$kotlinx_coroutines_core(JobSupport.kt:742)
        at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:117)
        at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:51)
        at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:109)
        at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:160)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:54)
        at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
        at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
        at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
        at io.github.droidkaigi.confsched2019.ext.android.ReceiveChannelExtKt$toLiveData$1.onActive(ReceiveChannelExt.kt:52)
        at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:418)
        at androidx.lifecycle.LiveData.observeForever(LiveData.java:214)
        at androidx.lifecycle.MediatorLiveData$Source.plug(MediatorLiveData.java:141)
        at androidx.lifecycle.MediatorLiveData.onActive(MediatorLiveData.java:118)
        at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:418)
        at androidx.lifecycle.LiveData.observeForever(LiveData.java:214)
        at com.shopify.livedataktx.SupportMediatorLiveData.observeForever(SupportMediatorLiveData.kt:48)
        at androidx.lifecycle.MediatorLiveData$Source.plug(MediatorLiveData.java:141)
        at androidx.lifecycle.MediatorLiveData.onActive(MediatorLiveData.java:118)
        at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:418)
        at androidx.lifecycle.LiveData.observeForever(LiveData.java:214)
        at com.shopify.livedataktx.SupportMediatorLiveData.observeForever(SupportMediatorLiveData.kt:48)
        at io.github.droidkaigi.confsched2019.App.onCreate(App.kt:94)
        at io.github.droidkaigi.confsched2019.DebugApp.onCreate(DebugApp.kt:10)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5885)
        at android.app.ActivityThread.access$1100(ActivityThread.java:200)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1651)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6692)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

Additional context

takahirom commented 5 years ago

Probably Main dispatcher creation is failed. But I don't know why 😭 java.lang.IllegalStateException: Module with the Main dispatcher had failed to initialize

Pluu commented 5 years ago

What I found now seems to be the work of this merge commit. There is no problem when you run it back to the previous version.

Merge pull request #449 from DroidKaigi/ios-fetch-sessions

Pluu commented 5 years ago

@takahirom What seems to have happened at this commit.

iOS: Fetch sessions as model takahirom 14/01/2019, 1:03 PM

takahirom commented 5 years ago

Sorry, it is not fixed.

Pluu commented 5 years ago

No Problem. Don't worry. 👍

takahirom commented 5 years ago

Can you check master?

Pluu commented 5 years ago

Sorry. It did not mean that it was resolved. It means to be tired because of difficult problems.

Pluu commented 5 years ago

@takahirom Oh! The master build and run were successful.