Newpipe: "what's new" crashes on channels that do not have a videos tab

Created on 25 May 2020  路  4Comments  路  Source: TeamNewPipe/NewPipe

Here is an example for such a channel (I've found by a chance..):
https://www.youtube.com/channel/UCAjUDZ-2r1B0ig88Ak56Scw

Screenshot_20200525-044133_Chrome
I've subscribed to it (before finding out about the bug),
and every update to the subscription list ("what's new") you'll get an error (I think NewPipe still updates the list from other channels but I'm not sure).

Exception

  • __User Action:__ requested feed
  • __Request:__ Loading feed
  • __Content Language:__ GB
  • __Service:__ none
  • __Version:__ 0.19.3
  • __OS:__ Linux samsung/j4ltejx/j4lte:9/PPR1.180610.011/J400FXXU4BSJ1:user/release-keys 9 - 28

Crash log

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UCAjUDZ-2r1B0ig88Ak56Scw
    at org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException$Companion.wrapList(FeedLoadService.kt:163)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1$1.run(FeedLoadService.kt:312)
    at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.java:386)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1.accept(FeedLoadService.kt:301)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1.accept(FeedLoadService.kt:64)
    at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
    at io.reactivex.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onComplete(FlowableBuffer.java:152)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.checkTerminated(FlowableObserveOn.java:215)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:399)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:176)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
Caused by: org.schabi.newpipe.extractor.exceptions.ContentNotSupportedException: This channel has no Videos tab
    at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getVideoTab(YoutubeChannelExtractor.java:310)
    at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getInitialPage(YoutubeChannelExtractor.java:224)
    at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
    at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:82)
    at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:47)
    at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelInfo$4(ExtractorHelper.java:124)
    at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$u5W7VszTe8AoEexIsFM9huQfbkM.call(Unknown Source:4)
    at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
    at io.reactivex.Single.subscribe(Single.java:3438)
    at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
    at io.reactivex.Single.subscribe(Single.java:3438)
    at io.reactivex.Single.blockingGet(Single.java:2699)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$startLoading$7.apply(FeedLoadService.kt:215)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$startLoading$7.apply(FeedLoadService.kt:64)
    at io.reactivex.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:113)
    at io.reactivex.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:130)
    at io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:397)
    ... 7 more

-------------------

org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException: 0:https://www.youtube.com/channel/UC_3NGKtzgH9fBf3xuHoQ7-Q
    at org.schabi.newpipe.local.feed.service.FeedLoadService$RequestException$Companion.wrapList(FeedLoadService.kt:163)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1$1.run(FeedLoadService.kt:312)
    at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.java:386)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1.accept(FeedLoadService.kt:301)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$databaseConsumer$1.accept(FeedLoadService.kt:64)
    at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
    at io.reactivex.internal.operators.flowable.FlowableBuffer$PublisherBufferExactSubscriber.onComplete(FlowableBuffer.java:152)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.checkTerminated(FlowableObserveOn.java:215)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnSubscriber.runAsync(FlowableObserveOn.java:399)
    at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:176)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
Caused by: org.schabi.newpipe.extractor.exceptions.ContentNotSupportedException: This channel has no Videos tab
    at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getVideoTab(YoutubeChannelExtractor.java:310)
    at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor.getInitialPage(YoutubeChannelExtractor.java:224)
    at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
    at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:82)
    at org.schabi.newpipe.extractor.channel.ChannelInfo.getInfo(ChannelInfo.java:47)
    at org.schabi.newpipe.util.ExtractorHelper.lambda$getChannelInfo$4(ExtractorHelper.java:124)
    at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$u5W7VszTe8AoEexIsFM9huQfbkM.call(Unknown Source:4)
    at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
    at io.reactivex.Single.subscribe(Single.java:3438)
    at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
    at io.reactivex.Single.subscribe(Single.java:3438)
    at io.reactivex.Single.blockingGet(Single.java:2699)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$startLoading$7.apply(FeedLoadService.kt:215)
    at org.schabi.newpipe.local.feed.service.FeedLoadService$startLoading$7.apply(FeedLoadService.kt:64)
    at io.reactivex.internal.operators.parallel.ParallelMap$ParallelMapSubscriber.onNext(ParallelMap.java:113)
    at io.reactivex.internal.operators.parallel.ParallelFilter$ParallelFilterSubscriber.tryOnNext(ParallelFilter.java:130)
    at io.reactivex.internal.operators.parallel.ParallelRunOn$RunOnConditionalSubscriber.run(ParallelRunOn.java:397)
    ... 7 more



bug feed

All 4 comments

Those channels also display an empty page when trying to view them:

Screenshot_20200525-050506_NewPipe

but with no reason given.

It took me a while to figure out why.. 馃

Something such as "this channel does not have any public-videos and NewPipe can not, currently, parse its "playlist-only content", sorry 馃檹

would be so much meaningful and helpful (both in debugging, and for users),
it is should be a new
(minor) issue..

As you can see on youtube, the channel has no video tab. We only support video tab for now, therefore we display this message (before this, it used to produce an error everytime you browse the channel).

See #3201, it's planned to have playlists tab in 0.20 version for youtube, and more for SoundCloud / PeerTube.

it wasn't clear those two things were connected though,
at least to the plain user that would not dig into the exception details,
to find out the channel's address, enter that URL into a browser, to get the channel's name (since this information is lack of the exception's details),
and make then the somewhat far reach leap that "this content is not yet supported" actually means "no public videos".
(Actually when thinking about it, adding the channel's name to the crash report seems like a useful information. In most cases that information has already been parsed out of the web page by NewPipe anyway, and it could make debugging simpler).
I am simply pointing out that providing more information will be helpful.

Well, no. "this content is not supported" is literal, having no public videos is just a side effect. The content is not yet supported, since the channel can not be parsed. It will be after @wb9688 pr with channel tabs will be merged.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

B0pol picture B0pol  路  3Comments

Hunter9888x picture Hunter9888x  路  3Comments

Aevann picture Aevann  路  3Comments

f242 picture f242  路  3Comments

Knowbody42 picture Knowbody42  路  3Comments