Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] http error 520 in reader and downloader #1108

Closed
Kickunio opened this issue Nov 5, 2024 · 2 comments
Closed

[Bug] http error 520 in reader and downloader #1108

Kickunio opened this issue Nov 5, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@Kickunio
Copy link

Kickunio commented Nov 5, 2024

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 Kickunio added the bug Something isn't working label Nov 5, 2024
@Syer10
Copy link
Collaborator

Syer10 commented Nov 10, 2024

This is likely cloudflare blocking the source. Setup Flaresolverr to try to bypass it

@Syer10 Syer10 closed this as completed Nov 10, 2024
@Syer10 Syer10 reopened this Nov 10, 2024
@Syer10 Syer10 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 10, 2024
@Kickunio
Copy link
Author

I have Flaresolverr enabled and it doesn't react to error 520 or Suwayomi doesn't send the request to Flaresolverr, because flaresolverr works fine - tested on Sonarr and Radarr and they have a correct reaction.

How to check if Suwayomi has correct connection to flaresolverr?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants