pockethub / PocketHub

PocketHub Android App
Apache License 2.0
9.39k stars 3.47k forks source link

Crash when pull-to-refresh at the home page #1251

Closed arthur-star closed 4 years ago

arthur-star commented 4 years ago

Description

Crash when pull-to-refresh at the home page

Versions and device

Steps to Reproduce

  1. Pull-to-refresh at the home page
  2. Showing the refresh icon, and click an item in the home page list immediately. It crashes.

Actual behaviour

Crash after a click.

Expected behaviour

No crash.

Logs

2019-08-09 00:06:00.444 30525-30559/? E/AndroidRuntime: FATAL EXCEPTION: RxCachedThreadScheduler-1
    Process: com.github.pockethub.android, PID: 30525
    io.reactivex.exceptions.UndeliverableException: java.lang.RuntimeException: java.io.InterruptedIOException: interrupted
        at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
        at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:50)
        at io.reactivex.Single.subscribe(Single.java:3096)
        at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
        at io.reactivex.Single.subscribe(Single.java:3096)
        at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)
        at io.reactivex.Single.subscribe(Single.java:3096)
        at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
        at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:571)
        at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
        at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
        at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:784)
     Caused by: java.lang.RuntimeException: java.io.InterruptedIOException: interrupted
        at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:45)
        at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:91)
        at io.reactivex.Single.blockingGet(Single.java:2486)
        at com.github.pockethub.android.persistence.OrganizationRepositories.getAllItems(OrganizationRepositories.kt:165)
        at com.github.pockethub.android.persistence.OrganizationRepositories.request(OrganizationRepositories.kt:141)
        at com.github.pockethub.android.persistence.DatabaseCache.requestAndStore(DatabaseCache.kt:57)
        at com.github.pockethub.android.persistence.AccountDataManager.getRepos(AccountDataManager.java:176)
        at com.github.pockethub.android.ui.repo.RepositoryListFragment$loadData$1.call(RepositoryListFragment.kt:300)
        at com.github.pockethub.android.ui.repo.RepositoryListFragment$loadData$1.call(RepositoryListFragment.kt:56)
        at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
        at io.reactivex.Single.subscribe(Single.java:3096) 
        at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) 
        at io.reactivex.Single.subscribe(Single.java:3096) 
        at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36) 
        at io.reactivex.Single.subscribe(Single.java:3096) 
        at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89) 
        at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:571) 
        at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 
        at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
        at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:784) 
     Caused by: java.io.InterruptedIOException: interrupted
        at okio.Timeout.throwIfReached(Timeout.java:146)
        at okio.Okio$2.read(Okio.java:137)
        at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
        at okio.RealBufferedSource.read(RealBufferedSource.java:51)
        at okhttp3.internal.http1.Http1Codec$AbstractSource.read(Http1Codec.java:363)
        at okhttp3.internal.http1.Http1Codec$ChunkedSource.read(Http1Codec.java:453)
        at okio.RealBufferedSource.read(RealBufferedSource.java:51)
        at okio.RealBufferedSource.exhausted(RealBufferedSource.java:61)
        at okio.InflaterSource.refill(InflaterSource.java:102)
        at okio.InflaterSource.read(InflaterSource.java:62)
        at okio.GzipSource.read(GzipSource.java:80)
        at okio.RealBufferedSource.request(RealBufferedSource.java:72)
        at okhttp3.Response.peekBody(Response.java:152)
        at com.meisolsson.githubsdk.core.GitHubPaginationInterceptor.intercept(GitHubPaginationInterceptor.java:41)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
        at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:212)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
        at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)