PipePipe icon indicating copy to clipboard operation
PipePipe copied to clipboard

[Bug] Crash when loading uploader information for certain videos

Open ZackXyz123 opened this issue 2 months ago • 1 comments

Checklist

  • [x] I make sure that the issue is NOT a duplicate of pinned issues
  • [x] I make sure I am using the LATEST version - check here
  • [x] I understand that issues with limited impact, such as those occurring on specific devices or under specific network conditions, will not be fixed
  • [x] I have attached the error report in the issue

Describe the bug

When pressing on some specific videos, I'm getting the attached error and the UI bugs out a little as well. It should show the profile picture and subscription count here.

Image

Frequency

Always (100% of the time)

Device

Pixel 10 Pro XL, Android 16

Steps to reproduce the bug

No response

Additional context

Exception

  • User Action: requested stream
  • Request: https://www.youtube.com/watch?v=Z37qJBRSoWQ
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US_#u-mu-fahrenhe
  • Service: YouTube (Logged in)
  • Version: 4.7.3
  • OS: Linux Android 16 - 36
Crash log

java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0
	at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
	at java.util.Objects.checkIndex(Objects.java:385)
	at java.util.ArrayList.get(ArrayList.java:434)
	at com.grack.nanojson.JsonArray.get(Unknown Source:6)
	at com.grack.nanojson.JsonArray.getObject(Unknown Source:0)
	at com.grack.nanojson.JsonArray.getObject(Unknown Source:5)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getUploaderAvatarUrl(YoutubeStreamExtractor.java:537)
	at org.schabi.newpipe.extractor.stream.StreamInfo.extractOptionalData(StreamInfo.java:265)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:110)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:88)
	at org.schabi.newpipe.util.ExtractorHelper.getNewStreamInfo(ExtractorHelper.java:132)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.call(Unknown Source:4)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	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:15868)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	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:317)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
	at java.lang.Thread.run(Thread.java:1119)


ZackXyz123 avatar Oct 21 '25 03:10 ZackXyz123

This happens to collabed videos

SGR21gtb avatar Oct 21 '25 05:10 SGR21gtb