Suwayomi/Suwayomi-Server

[Bug] http error 520 in reader and downloader

Closed this issue · 1 comments

Device information

  • Suwayomi-Server version: v1.1.1-r1599-docker
  • Server Operating System: docker
  • Server Desktop Environment: N/A
  • Server JVM version: bundled
  • Client Operating System: bundled
  • Client Web Browser: newest chrome stable

Steps to reproduce

  1. Read a manga from toonily (found this bug on this extension, but read on discord that there are also other extensions)
  2. After some time of reading (constant, without brakes, like reading many chapter concurrently) next chapters don't read
  3. If downloading after downloading several chapters, other not downloaded chapter will show up an error)

Expected behavior

Chapters download normally/ Chapters loads in reader normally

Actual behavior

Error 520

Other details

Tested it in tachimanga app on iOS and the problem didn't show up even after downloading 31 chapters at once( 1 concurrent download)

Download log:

`23:46:42.575 [DefaultDispatcher-worker-3] WARN suwayomi.tachidesk.manga.impl.download.Downloader source(5190569675461947007) - downloadChapter(Share Girlfriend (4983) - Chapter 50 - The End (31163) | state= Error, tries= 2, progress= 0.0)) -- failed due to

eu.kanade.tachiyomi.network.HttpException: HTTP error 520

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservableSuccess$lambda$1(OkHttpExtensions.kt:66)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservableSuccess$lambda$2(OkHttpExtensions.kt:63)

at rx.internal.util.ActionObserver.onNext(ActionObserver.java:39)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:96)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt$asObservable$1$requestArbiter$1.request(OkHttpExtensions.kt:39)

at rx.Subscriber.setProducer(Subscriber.java:211)

at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(OnSubscribeMap.java:102)

at rx.Subscriber.setProducer(Subscriber.java:205)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservable$lambda$0(OkHttpExtensions.kt:57)

at rx.Observable.unsafeSubscribe(Observable.java:10327)

at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)

at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)

at rx.Observable.unsafeSubscribe(Observable.java:10327)

at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)

at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)

at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)

at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)

at rx.Observable.subscribe(Observable.java:10423)

at rx.Observable.subscribe(Observable.java:10390)

at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitOne(RxCoroutineBridge.kt:28)

at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitSingle(RxCoroutineBridge.kt:22)

at eu.kanade.tachiyomi.source.online.HttpSource.getPageList$suspendImpl(HttpSource.kt:306)

at eu.kanade.tachiyomi.source.online.HttpSource.getPageList(HttpSource.kt)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownload.fetchPageList(ChapterForDownload.kt:116)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownload.asDownloadReady(ChapterForDownload.kt:73)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReady(ChapterForDownload.kt:37)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReady$default(ChapterForDownload.kt:30)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReadyByIndex(ChapterForDownload.kt:45)

at suwayomi.tachidesk.manga.impl.download.Downloader.run(Downloader.kt:127)

at suwayomi.tachidesk.manga.impl.download.Downloader.access$run(Downloader.kt:33)

at suwayomi.tachidesk.manga.impl.download.Downloader$run$1.invokeSuspend(Downloader.kt)

at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)

at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)

at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt: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)

Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: okhttp3.Response.class

at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)

at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:188)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:98)

... 33 common frames omitted`

Reader log:
`23:57:25.922 [DefaultDispatcher-worker-12] ERROR suwayomi.tachidesk.graphql.AsDataFetcherResult -- asDataFetcherResult: failed due to

eu.kanade.tachiyomi.network.HttpException: HTTP error 520

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservableSuccess$lambda$1(OkHttpExtensions.kt:66)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservableSuccess$lambda$2(OkHttpExtensions.kt:63)

at rx.internal.util.ActionObserver.onNext(ActionObserver.java:39)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:96)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt$asObservable$1$requestArbiter$1.request(OkHttpExtensions.kt:39)

at rx.Subscriber.setProducer(Subscriber.java:211)

at rx.internal.operators.OnSubscribeMap$MapSubscriber.setProducer(OnSubscribeMap.java:102)

at rx.Subscriber.setProducer(Subscriber.java:205)

at eu.kanade.tachiyomi.network.OkHttpExtensionsKt.asObservable$lambda$0(OkHttpExtensions.kt:57)

at rx.Observable.unsafeSubscribe(Observable.java:10327)

at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)

at rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)

at rx.Observable.unsafeSubscribe(Observable.java:10327)

at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48)

at rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)

at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)

at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)

at rx.Observable.subscribe(Observable.java:10423)

at rx.Observable.subscribe(Observable.java:10390)

at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitOne(RxCoroutineBridge.kt:28)

at suwayomi.tachidesk.manga.impl.util.lang.RxCoroutineBridgeKt.awaitSingle(RxCoroutineBridge.kt:22)

at eu.kanade.tachiyomi.source.online.HttpSource.getPageList$suspendImpl(HttpSource.kt:306)

at eu.kanade.tachiyomi.source.online.HttpSource.getPageList(HttpSource.kt)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownload.fetchPageList(ChapterForDownload.kt:116)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownload.asDownloadReady(ChapterForDownload.kt:73)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReady(ChapterForDownload.kt:37)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReady$default(ChapterForDownload.kt:30)

at suwayomi.tachidesk.manga.impl.chapter.ChapterForDownloadKt.getChapterDownloadReadyById(ChapterForDownload.kt:40)

at suwayomi.tachidesk.graphql.mutations.ChapterMutation$fetchChapterPages$1.invokeSuspend(ChapterMutation.kt:240)

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.kt:111)

at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)

at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt: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)

Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: okhttp3.Response.class

at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)

at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:188)

at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:98)

... 33 common frames omitted`

@Kickunio this issue was automatically closed because:

  • The requested information was not filled out