Skip to content

[Bug] some SoundCloud links could not be played #2714

Description

@doogle11

Checklist

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

Describe the bug

Exception

Crash log

androidx.media3.exoplayer.ExoPlaybackException: Source error
	at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:17)
	at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:456)
	at android.os.Handler.dispatchMessageImpl(Handler.java:138)
	at android.os.Handler.dispatchMessage(Handler.java:125)
	at android.os.Looper.loopOnce(Looper.java:296)
	at android.os.Looper.loop(Looper.java:397)
	at android.os.HandlerThread.run(HandlerThread.java:139)
Caused by: java.io.IOException: java.lang.Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'long com.grack.nanojson.JsonObject.getLong(java.lang.String, long)' on a null object reference
	at org.schabi.newpipe.player.mediasource.FailedMediaSource.maybeThrowSourceInfoRefreshError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:10)
	at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:13)
	at androidx.media3.exoplayer.source.MaskingMediaPeriod.maybeThrowPrepareError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:5)
	at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:234)
	at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:386)
	... 5 more
Caused by: java.lang.Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'long com.grack.nanojson.JsonObject.getLong(java.lang.String, long)' on a null object reference
	at org.schabi.newpipe.player.playqueue.PlayQueueItem$$ExternalSyntheticLambda0.apply(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:16)
	at org.brotli.dec.IntReader.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:23)
	at org.brotli.dec.IntReader.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:73)
	at org.brotli.dec.IntReader.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:160)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:3)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:38)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:43)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:3)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle$FromSingleObserver.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:20)
	at org.brotli.dec.IntReader.onError(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:89)
	at io.reactivex.rxjava3.internal.operators.single.SingleJust.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:56)
	at io.reactivex.rxjava3.core.Single.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:6)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnEvent.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:19)
	at io.reactivex.rxjava3.core.Single.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:6)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeDefer.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:16)
	at io.reactivex.rxjava3.core.Maybe.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:1)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:87)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:12)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:44)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableDefer.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:26)
	at io.reactivex.rxjava3.core.Flowable.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:6)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:9)
	at io.reactivex.rxjava3.core.Maybe.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:1)
	at io.reactivex.rxjava3.internal.operators.single.SingleJust.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:87)
	at io.reactivex.rxjava3.core.Single.subscribe(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:6)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:5)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:10)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:22)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:1)
	at java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:323)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1100)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:1572)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'long com.grack.nanojson.JsonObject.getLong(java.lang.String, long)' on a null object reference
	at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudStreamExtractor.getId(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:7)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:13)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:319)
	at io.reactivex.rxjava3.internal.operators.single.SingleJust.subscribeActual(r8-map-id-6f072df307b799195dd3883d1c4bee5ce6988e5e6005b4134db697bfa6a5e1f8:27)
	... 23 more


Version

5.2.4 beta

Frequency

Always (100% of the time)

Device

Pixel 6a, Android 17 (graphene os)

Steps to reproduce the bug

  1. Open https://soundcloud.com/marc_adriano/the-disciples-root-of-creation

Additional context

Some SoundCloud links could not be played, the app gets stuck in an error report loop.

Happens to about 20% of SoundCloud links I've come across

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions