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

Release v0.26.0 (please TEST!) #10471

Closed
21 tasks done
TobiGr opened this issue Oct 5, 2023 · 69 comments · Fixed by #10470
Closed
21 tasks done

Release v0.26.0 (please TEST!) #10471

TobiGr opened this issue Oct 5, 2023 · 69 comments · Fixed by #10470

Comments

@TobiGr
Copy link
Member

TobiGr commented Oct 5, 2023

Testing for regressions

Release APK (built and signed by @Stypox): NewPipe_v0.26.0_RC3_release.zip
Debug APK (built by @Stypox): NewPipe_v0.26.0_RC3_debug.zip
Please report only regressions (i.e. new issues) here, not issues that were already present in previous releases!

TODO

App changelog

New

Improved

Localization

Fixed

Development

NewPipe Extractor changelog

New

Improved

Fixed

Development

@TobiGr TobiGr linked a pull request Oct 5, 2023 that will close this issue
@AudricV AudricV changed the title Release 0.26.0 Release v0.26.0 (please TEST!) Oct 5, 2023
@Stypox Stypox pinned this issue Oct 5, 2023
@opusforlife2
Copy link
Collaborator

Does anyone else have a clearly noticeable stutter when swiping between channel tabs? Especially when swiping to Live, Playlists, and Channels. It's very consistent.

And strangely, the stutter is worse once everything is loaded. If swiping to any of these tabs for the first time, the stutter is far less noticeable. I suspect the thumbnails. The pause happens just before they show up or go away.

(It might be my old slow device or the debug channel causing this.)

@SameenAhnaf
Copy link
Collaborator

I can notice it too. But lowering thumbnail quality or completely disabling it doesn't reduce the amount of stutter.

@SameenAhnaf
Copy link
Collaborator

SameenAhnaf commented Oct 6, 2023

Accessing all types of videos, while thumbnail is disabled, causes a crash.

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 31
Crash log

io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | io.reactivex.rxjava3.exceptions.CompositeException: 2 exceptions occurred. 
	at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:718)
	at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:715)
	at io.reactivex.rxjava3.internal.observers.ConsumerSingleObserver.onError(ConsumerSingleObserver.java:46)
	at io.reactivex.rxjava3.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:79)
	at io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:123)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:241)
	at android.os.Looper.loop(Looper.java:342)
	at android.app.ActivityThread.main(ActivityThread.java:8143)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:583)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
Caused by: io.reactivex.rxjava3.exceptions.CompositeException: 2 exceptions occurred. 
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn$OnErrorReturn.onError(SingleOnErrorReturn.java:58)
	at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70)
	at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:61)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:16013)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: io.reactivex.rxjava3.exceptions.CompositeException$ExceptionOverview: Multiple exceptions (2)
|-- java.lang.NullPointerException: uriString
    at android.net.Uri$StringUri.<init>(Uri.java:507)
|-- java.lang.NullPointerException: uriString
    at android.net.Uri$StringUri.<init>(Uri.java:507)


@n-buna404
Copy link

Just a small observation, I that if u turn on autorotate on device and use landscape mode
swiping between the channel tabs do not have the noticeable stutter, it only happens in vertical mode kinda strange ( irrespective of thumbnail quality)

@SameenAhnaf
Copy link
Collaborator

Entering/exiting full screen consumes unexpectedly high amount of time. First app shownshown in the video is vanilla Newpipe version, the second one is debug version

Screen_Recording_20231007_160533.mp4

@ChaosNicro
Copy link

ChaosNicro commented Oct 7, 2023

Here my report about the OOMs during the feed refresh. It happens consistently for me, at around 150-250 subs processed. If the feed is open during the OOM-crash, it does not produce a guru-screen, putting the app in the backround and watching the notification for the crash, then bringing the app back, does produce a guru-screen. I've put some of them below. A heap dump taken during the refresh finds no obvious leaking objects in LeakCanary. I take this to mean that some component allocates memory incrementally per sub processed, that would be GCed if the refresh managed to finish. I can provide more info, if someone can instruct me on what's needed.
Disabling all "fetch tabs" in settings except for "videos", does not change this.

Exceptions

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 32
Crash log

java.lang.OutOfMemoryError: Failed to allocate a 48 byte allocation with 1528560 free bytes and 1492KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
	at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
	at java.lang.StringBuilder.<init>(StringBuilder.java:90)
	at java.lang.Throwable.printStackTrace(Throwable.java:670)
	at java.lang.Throwable.printStackTrace(Throwable.java:735)
	at android.util.Log.printlns(Log.java:457)
	at android.util.Log.e(Log.java:262)
	at org.schabi.newpipe.App$1.accept(App.java:172)
	at org.schabi.newpipe.App$1.accept(App.java:135)
	at io.reactivex.rxjava3.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:378)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:68)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:920)


Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 32
Crash log

java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 886456 free bytes and 865KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.addConditionWaiter(AbstractQueuedSynchronizer.java:1882)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2187)
	at okio.AsyncTimeout$Companion.awaitTimeout$okio(AsyncTimeout.kt:320)
	at okio.AsyncTimeout$Watchdog.run(AsyncTimeout.kt:186)


Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 32
Crash log

java.lang.OutOfMemoryError: Failed to allocate a 16 byte allocation with 544576 free bytes and 531KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
	at android.os.ThreadLocalWorkSource.setUid(ThreadLocalWorkSource.java:68)
	at android.os.Looper.loopOnce(Looper.java:199)
	at android.os.Looper.loop(Looper.java:288)
	at android.os.HandlerThread.run(HandlerThread.java:67)


Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 32
Crash log

java.lang.OutOfMemoryError: Failed to allocate a 8208 byte allocation with 31608 free bytes and 30KB until OOM, target footprint 268435456, growth limit 268435456; giving up on allocation because <1% of heap free after GC.
	at okio.Segment.<init>(Segment.kt:62)
	at okio.SegmentPool.take(SegmentPool.kt:90)
	at okio.Buffer.writableSegment$okio(Buffer.kt:1485)
	at okio.InputStreamSource.read(JvmOkio.kt:91)
	at okio.AsyncTimeout$source$1.read(AsyncTimeout.kt:128)
	at okio.RealBufferedSource.read(RealBufferedSource.kt:192)
	at okhttp3.internal.http2.Http2Stream$FramingSource.receive$okhttp(Http2Stream.kt:445)
	at okhttp3.internal.http2.Http2Stream.receiveData(Http2Stream.kt:276)
	at okhttp3.internal.http2.Http2Connection$ReaderRunnable.data(Http2Connection.kt:650)
	at okhttp3.internal.http2.Http2Reader.readData(Http2Reader.kt:180)
	at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.kt:119)
	at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:618)
	at okhttp3.internal.http2.Http2Connection$ReaderRunnable.invoke(Http2Connection.kt:609)
	at okhttp3.internal.concurrent.TaskQueue$execute$1.runOnce(TaskQueue.kt:98)
	at okhttp3.internal.concurrent.TaskRunner.runTask(TaskRunner.kt:116)
	at okhttp3.internal.concurrent.TaskRunner.access$runTask(TaskRunner.kt:42)
	at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:65)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:920)


@ghazzor

This comment was marked as off-topic.

@ChaosNicro
Copy link

From my testing, both the subscriptions- and the Whats-new-view do not contain shorts unless the "dedicated feed"/fast-mode is enabled. This matches pre-0.26.0 behaviour.
My understanding was, that channel-tabs would allow this to work without needing fast-mode, so I'm mentioning it here.

@opusforlife2
Copy link
Collaborator

@ChaosNicro There's a new setting: Fetch channel tabs. Have you opened it?

@ChaosNicro
Copy link

ChaosNicro commented Oct 19, 2023

Thanks for replying. All boxes are ticked and live-content does show up as intended, just shorts are missing.
They do show up when viewing a channel-profiles "shorts"-tab, but aren't integrated into feeds.
Screenshot_20231019-193321_NewPipe release-0 26 0

@ACR-Jeff
Copy link

ACR-Jeff commented Oct 19, 2023

Mine is the opposite, Showing "shorts" all the time in subscriptions/whats new tabs. Even when unchecked as well as when Dedicated feed is enabled/disabled

@ChaosNicro
Copy link

Mine is the opposite, Showing "shorts" all the time in subscriptions/whats new tabs. Even when unchecked as well as when Dedicated feed is enabled/disabled

@ACR-Jeff Mind that unchecking the setting doesn't remove shorts from the database/feeds, it just prevents Newpipe from fetching new ones. I think that's by design.

@ACR-Jeff

This comment was marked as resolved.

@ACR-Jeff

This comment was marked as resolved.

@ShellCadium
Copy link

#10380 has also been fixed with this release. @opusforlife2, I can also feel heavy stutters while shifting through the channel tabs. Tested with both the debug apk and the nightly release as well.

@NewNewPipe

This comment was marked as off-topic.

@JPluess

This comment was marked as off-topic.

@DI555

This comment was marked as off-topic.

@JPluess

This comment was marked as off-topic.

@vehosah

This comment was marked as off-topic.

@arrowcrown
Copy link

When a channel page is added as a tab to the home screen, the app crashes when I try to open a video from that tab.

@ChaosNicro
Copy link

When a channel page is added as a tab to the home screen, the app crashes when I try to open a video from that tab.

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: none
  • Version: 0.26.0
  • OS: Linux Android 12 - 32
Crash log

java.lang.IllegalArgumentException: No view found for id 0x7f0a0198 (org.schabi.newpipe.debug.release0260:id/fragment_player_holder) for fragment VideoDetailFragment{7c6aae7} (897e85aa-6161-4820-8455-c6ca1213921b id=0x7f0a0198)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:513)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:261)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1840)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1758)
	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1701)
	at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:488)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7870)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)


@jcperil
Copy link

jcperil commented Nov 13, 2023

Loading time is at least 3500 ms.

slow.loading.mp4

I can also feel a small but (relatively) noticeable delay in displaying the context menu when you want to enqueue videos. Is this intended?

@opusforlife2
Copy link
Collaborator

Loading time is at least 3500 ms.

Don't bother testing delays in debug APKs. This is only worth checking on release APKs.

@opusforlife2
Copy link
Collaborator

So, it is a regression right?

The only way to know for sure is to compare the behaviour with the current release. When the exact same steps give different outcomes, that's a clue.

@MD77MD
Copy link

MD77MD commented Dec 12, 2023

@arrowcrown @ChaosNicro here is a PR that fixes clicking on videos in channels in the main page. Could you test it and check if it works now? #10645

@MD77MD could you provide a bit more information?

  • If I understand correctly, once you imported the database, every time you open the app and right after doing that (i.e. without performing any action in NewPipe) you switch to another app, NewPipe crashes. Is that correct?
  • Were you able to collect a crash report?
  • Does the same behavior arise even if you only import data and not settings?
  • If the answer to the previous question was "no", then the problem might depend on a specific setting. Could you share the settings export (just extract newpipe.settings from the .zip so that you don't give away any personal data)?
  • Do you have channels in your home page?

If i import data only without the settings, then it works fine.... will do more tests and try to get a crash report.

didn't get your last question but i do have 3 tabs of youtube channels if thats what you mean.

@ShellCadium
Copy link

So, it is a regression right?

The only way to know for sure is to compare the behaviour with the current release. When the exact same steps give different outcomes, that's a clue.

In the current stable build (version 0.25.2), I can easily add and open 10+ channel pages without crash of any sort. Pretty safe to classify this as a regression.

@opusforlife2
Copy link
Collaborator

opusforlife2 commented Dec 17, 2023

laggy channel tabs

@Stypox You've linked my comment to this bullet point. This was me testing the first RC, and a debug build at that. With your RC2 release build, there is no lag. Someone else can test this to confirm, but I think this TODO can be removed.

Edit: Okay there is still a minor hiccup with the older, slower device, though it is lesser than the debug build.

@Stypox
Copy link
Member

Stypox commented Dec 20, 2023

@sigh8 @ChaosNicro could you test this APK and tell me if it fixes the out of memory crashes when loading feed? app-release.zip

@ChaosNicro
Copy link

@Stypox I was able to get through 480 subs without fast-mode. Initial test passed. I'm gonna use this as my main NP for a bit to make sure. Would this also affect shorts not being processed without fast mode?

@opusforlife2
Copy link
Collaborator

@ChaosNicro Or you could stress test it for a shorter duration, and give a quicker feedback?

@sigh8
Copy link

sigh8 commented Dec 20, 2023

@sigh8 @ChaosNicro could you test this APK and tell me if it fixes the out of memory crashes when loading feed? app-release.zip

Yeah, it solved the memory crash. Works for both normal mode(?) and fast mode. Thanks.

Edit: This version is unable to get the like count. Was it supposed to happen?

Exception

Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get like count
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getLikeCount(YoutubeStreamExtractor.java:479)
	at org.schabi.newpipe.extractor.stream.StreamInfo.extractOptionalData(StreamInfo.java:262)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:82)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:117)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:16013)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equalsIgnoreCase(java.lang.String)' on a null object reference
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getLikeCount$7(YoutubeStreamExtractor.java:429)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$JNZYncC0vyG9Ez_PK6G8Ez8Psqs(YoutubeStreamExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda14.test(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:4)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.tryAdvance(Unknown Source:21)
	at j$.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source:6)
	at j$.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source:15)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:29)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source:8)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.findFirst(Unknown Source:5)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getLikeCount(YoutubeStreamExtractor.java:437)
	... 30 more


@ChaosNicro
Copy link

@ChaosNicro Or you could stress test it for a shorter duration, and give a quicker feedback?

The problem is gone. I got though 5 refreshs without any lag, where it would stall before. You can tick the box.
What I meant was, that I would switch to it, so that I could see regressions compared to RC2, if there are any. I don't know how well the fix was tested and when it will get introduced to the RC proper.

@sigh8
Copy link

sigh8 commented Dec 20, 2023

@ChaosNicro could you check if the feed threshold works properly for you? I have set mine to 5 minutes but it still tries to refresh 41 subscriptions during cool down period. After cool down it still tries to refresh only 41 subscriptions. I have to restart the app for it to refresh all of the subscriptions.

@ChaosNicro
Copy link

@ChaosNicro could you check if the feed threshold works properly for you? I have set mine to 5 minutes but it still tries to refresh 41 subscriptions during cool down period. After cool down it still tries to refresh only 41 subscriptions. I have to restart the app for it to refresh all of the subscriptions.

For me, 78 subs show up as "not loaded" (below the time since last refresh). Those ignore the threshold, as they should. A bit odd, since I remember that number being no more than two, but it's identical in pre-fix RC2 (ignoring the OOMs), so probably a Youtube thing instead of NP.
As for after the threshold, I can watch the feed as the timer ticks over and it does a full refresh with no restarts of any kind required the next time I hit the button.

@sigh8 are your 41 subs marked as "not loaded"?

@Stypox
Copy link
Member

Stypox commented Dec 20, 2023

Time for another RC, which includes the not-yet-merged PRs I opened in the last few hours. The following errors should be fixed, please confirm, and thanks for catching all of these errors before we release!

  • fix out of memory crashes when loading feed #10670 (already fixed confirmed by ChaosNicro and sigh8)
  • fix application lagging when there are many channels as main page tabs #10671 @opusforlife2 @ShellCadium @jcperil
  • fix transaction too large crashes when switching away from application #10673 @MD77MD @ShellCadium (please also test by putting one channel from all NewPipe services (Youtube, Soundcloud, ...) as a main page tab, then open settings and the app should not crash and all video/audio tabs from all channels should still allow e.g. playing in the background without crashing)

Release APK (built and signed by @Stypox): NewPipe_v0.26.0_RC3_release.zip
Debug APK (built by @Stypox): NewPipe_v0.26.0_RC3_debug.zip


For me, 78 subs show up as "not loaded"

We are aware of that and will fix it. Yeah it's an extractor problem, YouTube changed the data returned about shorts yet again and removed the duration completely.

@sigh8
Copy link

sigh8 commented Dec 21, 2023

A bit odd, since I remember that number being no more than two, but it's identical in pre-fix RC2 (ignoring the OOMs), so probably a Youtube thing instead of NP.

Which one is the pre-fix RC2? If it's this one NewPipe_v0.26.0_RC2_release.zip, then for me it skips refreshing if threshold is not met. In v0.25 it refreshes two channels.

shorts duration duplicate comment

@sigh8 are your 41 subs marked as "not loaded"?

Yes, they are. And are also ignored during the next refresh.

As for after the threshold, I can watch the feed as the timer ticks over and it does a full refresh with no restarts of any kind required the next time I hit the button.

For me it now refreshes all of my channels after threshold is met if I have not tried to refresh during cool down period and 267 channels out 301 if I have. But every full(or almost full) refresh generates the bellow error. Clicking on "report" closes the app and takes me to the error page. But app continues to work fine if I ignore the error message and use it as is.

Update : After I have enabled "fast mode", the error is not generated.

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: US
  • Content Language: en-
  • App Language: en
  • Service: none
  • Version: 0.25.2
  • OS: Linux Android 12 - 31
Crash log

java.lang.RuntimeException: Failure from system
	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1751)
	at android.app.Activity.startActivityForResult(Activity.java:5482)
	at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:712)
	at android.app.Activity.startActivityForResult(Activity.java:5440)
	at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:693)
	at android.app.Activity.startActivity(Activity.java:5826)
	at android.app.Activity.startActivity(Activity.java:5779)
	at org.schabi.newpipe.error.ErrorUtil$Companion.openActivity(ErrorUtil.kt:43)
	at org.schabi.newpipe.error.ErrorUtil$Companion.showSnackbar$lambda$0(ErrorUtil.kt:149)
	at org.schabi.newpipe.error.ErrorUtil$Companion.$r8$lambda$hbVLiP6-HtFc17h3_yyNDsmaIY8(ErrorUtil.kt:0)
	at org.schabi.newpipe.error.ErrorUtil$Companion$$ExternalSyntheticLambda0.onClick(R8$$SyntheticClass:0)
	at com.google.android.material.snackbar.Snackbar.lambda$setAction$0(Snackbar.java:352)
	at com.google.android.material.snackbar.Snackbar.$r8$lambda$4rINiMZz55Dc47hSTCuz-ALWyEw(Snackbar.java:0)
	at com.google.android.material.snackbar.Snackbar$$ExternalSyntheticLambda1.onClick(R8$$SyntheticClass:0)
	at android.view.View.performClick(View.java:7745)
	at android.view.View.performClickInternal(View.java:7722)
	at android.view.View.access$3700(View.java:854)
	at android.view.View$PerformClick.run(View.java:29111)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:210)
	at android.os.Looper.loop(Looper.java:299)
	at android.app.ActivityThread.main(ActivityThread.java:8319)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038)
Caused by: android.os.TransactionTooLargeException: data parcel size 2326076 bytes
	at android.os.BinderProxy.transactNative(Native Method)
	at android.os.BinderProxy.transact(BinderProxy.java:629)
	at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:2715)
	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1745)
	... 25 more


@ChaosNicro
Copy link

ChaosNicro commented Dec 21, 2023

For me it now refreshes all of my channels after threshold is met if I have not tried to refresh during cool down period and 267 channels out 301 if I have.

Not sure if I read this right, but this might be working as intended. AFAIK it tracks the threshold for each sub, so your "incomplete" refresh does not do all of them, because some of them had an attempt while the others were on "cool-down". If you wait at least 5 minutes since the last (incomplete) refresh, it should refresh all of them once more, since the thresholds are in sync again.

But every full(or almost full) refresh generates the bellow error.

I suspect that this is the extractor failing to get durations. Since in fast-mode they are expected to be missing. (See Stypox's note above.)

Yes, they are. And are also ignored during the next refresh.

Ignored, as in they ignore the threshold and are re-fetched on next refresh, or as in skipped until 5 minutes pass? It should be the first logically speaking and for me, it is.

@opusforlife2
Copy link
Collaborator

fix application lagging when there are many channels as main page tabs

@Stypox I don't know about other users, but that's not the bug I reported. For me the lag is when I open a channel page and switch between channel tabs there. The older/less powerful the device, the more noticeable the lag.

However, if it's something that can't be or isn't worth fixing for this release, that's also fine. It's a minor QoL issue.

@ddellarocca
Copy link

Hi,
I'm testing this version for a week or so and I'm getting some errors while fetching the new releases of my subscriptions:

Exception

  • User Action: requested feed
  • Request:
  • Content Country: IT
  • Content Language: it-IT
  • App Language: it_IT
  • Service: none
  • Version: 0.26.0
  • OS: Linux samsung/r8qeea/r8q:13/TP1A.220624.014/G780GXXU6EWH5:user/release-keys 13 - 33
Exceptions (10)

Crash log 1

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "why does this happen?"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 2

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCyM2SwtSOrQ4PWQ7NEcPK9A
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "Watch it on Fishin’Around Premium https://youtu.be/OB1lIj4kNCQ"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 3

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCyM2SwtSOrQ4PWQ7NEcPK9A
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "Fish always get off the hook, lures never do."
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 4

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "What Would It Look Like? #shorts #kurzgesagt"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 5

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "With Science #shorts #kurzgesagt"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 6

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCsXVk37bltHxD1rDPwtNM8Q
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "A Doomsday Scenario? #shorts #kurzgesagt"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 7

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCfCKUsN2HmXfjiOJc7z7xBw
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "HOWIN L6-210"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 8

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCfCKUsN2HmXfjiOJc7z7xBw
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "Coming Soon!"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 9

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCtRdJtAkr_DCMeFfSusIycg
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "#shorts"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more

Crash log 10

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCtRdJtAkr_DCMeFfSusIycg
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept$lambda$1(FeedLoadManager.kt:285)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.$r8$lambda$nP61ZaEPy7GNixUaWP6wyXDQaWo(FeedLoadManager.kt:0)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
	at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.kt:591)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:271)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$DatabaseConsumer.accept(FeedLoadManager.kt:268)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onNext(FlowableBuffer.java:124)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:403)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:178)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse duration "Ci provano sempre! #short"
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.lambda$parseDuration$2(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.$r8$lambda$jRtMMUcqCaDS7O_0CIns6A9uspw(TimeAgoParser.java:0)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser$$ExternalSyntheticLambda7.get(R8$$SyntheticClass:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.localization.TimeAgoParser.parseDuration(TimeAgoParser.java:108)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeReelInfoItemExtractor.getDuration(YoutubeReelInfoItemExtractor.java:87)
	at org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector.extract(StreamInfoItemsCollector.java:52)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:82)
	at org.schabi.newpipe.extractor.MultiInfoItemsCollector.extract(MultiInfoItemsCollector.java:48)
	at org.schabi.newpipe.extractor.InfoItemsCollector.commit(InfoItemsCollector.java:104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getCommitReelItemConsumer(YoutubeChannelTabExtractor.java:362)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItem(YoutubeChannelTabExtractor.java:303)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.lambda$collectItemsFrom$9(YoutubeChannelTabExtractor.java:286)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.$r8$lambda$KAYG9BgLo6yMbYHafYfTfPgJPt8(YoutubeChannelTabExtractor.java:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor$$ExternalSyntheticLambda10.apply(R8$$SyntheticClass:0)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:6)
	at j$.util.stream.ReferencePipeline$3$1.accept(Unknown Source:10)
	at j$.util.stream.ReferencePipeline$2$1.accept(Unknown Source:12)
	at j$.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source:19)
	at j$.util.stream.AbstractPipeline.copyInto(Unknown Source:22)
	at j$.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source:10)
	at j$.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source:4)
	at j$.util.stream.AbstractPipeline.evaluate(Unknown Source:34)
	at j$.util.stream.ReferencePipeline.reduce(Unknown Source:4)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.collectItemsFrom(YoutubeChannelTabExtractor.java:287)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelTabExtractor.getInitialPage(YoutubeChannelTabExtractor.java:214)
	at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:21)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:57)
	at org.schabi.newpipe.extractor.channel.tabs.ChannelTabInfo.getInfo(ChannelTabInfo.java:36)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelTab$5(ExtractorHelper.java:135)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$4dS_dGz0hhNDf8_T2Xw0lsZ8Uf4(ExtractorHelper.java:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda1.call(R8$$SyntheticClass:0)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn.subscribeActual(SingleOnErrorReturn.java:38)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
	at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3644)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.loadStreams(FeedLoadManager.kt:195)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager.access$loadStreams(FeedLoadManager.kt:33)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:113)
	at org.schabi.newpipe.local.feed.service.FeedLoadManager$startLoading$7.apply(FeedLoadManager.kt:112)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:116)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:132)
	at io.reactivex.rxjava3.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:399)
	... 7 more


@ddellarocca

This comment was marked as duplicate.

@ddellarocca

This comment was marked as duplicate.

@Stypox
Copy link
Member

Stypox commented Dec 21, 2023

@ddellarocca thanks for reporting, but that error is already known and we'll fix it before releasing, see my comment above

@Stypox
Copy link
Member

Stypox commented Dec 21, 2023

Thank you everyone for helping with troubleshooting bugs and crashes!

@regs01
Copy link

regs01 commented Dec 23, 2023

Has it been pulled from F-Droid? I can see 0.26.0 in F-Droid on a phone, but not on tablet. As well as F-Droid.org shows latest is 0.25.2.
https://f-droid.org/en/packages/org.schabi.newpipe/

@opusforlife2
Copy link
Collaborator

F-Droid's index hasn't been updated yet. You likely have the custom repo on your phone, but not your tablet.

@regs01
Copy link

regs01 commented Dec 23, 2023

ahhh, right. There is archive.newpipe.net/fdroid/repo

Added it so long ago. Forgot about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.