Skip to content

[SoundCloud] opening NewPipe after sharing and while playing a SoundCloud playlist crashes the app #12904

@TobiGr

Description

@TobiGr

Checklist

  • I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
  • I made sure that there are no existing issues - open or closed - which I could contribute my information to.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • I have read and understood the contribution guidelines.

Affected version

0.28.0 Nightly / debug version for an unrelated PR

Steps to reproduce the bug

  1. Close NewPipe
  2. Share a SoundCloud playlist with NewPipe -> background player (I took one from SoundClouds main page: https://m.soundcloud.com/soundcloud-scenes/sets/dreams-emerging-indie)
  3. wait until NewPipe starts playing
  4. open NewPipe using the app launcher and not the notification

Expected behavior

No crash

Actual behavior

NewPipe crashes (see logs)

Screenshots/Screen recordings

No response

Logs

coil3.request.NullRequestDataException: The request's data is null.
	at coil3.RealImageLoader.execute(RealImageLoader.kt:108)
	at coil3.RealImageLoader.access$execute(RealImageLoader.kt:44)
	at coil3.RealImageLoader$enqueue$job$1.invokeSuspend(RealImageLoader.kt:66)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:359)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:26)
	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:358)
	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:124)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.async(Builders.common.kt:87)
	at kotlinx.coroutines.BuildersKt.async(Unknown Source:1)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.async$default(Builders.common.kt:78)
	at kotlinx.coroutines.BuildersKt.async$default(Unknown Source:1)
	at coil3.RealImageLoader.enqueue(RealImageLoader.kt:65)
	at org.schabi.newpipe.util.image.CoilHelper.loadImageDefault(CoilHelper.kt:160)
	at org.schabi.newpipe.util.image.CoilHelper.loadDetailsThumbnail(CoilHelper.kt:118)
	at org.schabi.newpipe.fragments.detail.VideoDetailFragment.updateOverlayData(VideoDetailFragment.kt:2218)
	at org.schabi.newpipe.fragments.detail.VideoDetailFragment.cleanUp(VideoDetailFragment.kt:2048)
	at org.schabi.newpipe.fragments.detail.VideoDetailFragment.access$cleanUp(VideoDetailFragment.kt:124)
	at org.schabi.newpipe.fragments.detail.VideoDetailFragment$setupBottomPlayer$1.onStateChanged(VideoDetailFragment.kt:2140)
	at com.google.android.material.bottomsheet.BottomSheetBehavior.setStateInternal(BottomSheetBehavior.java:1431)
	at com.google.android.material.bottomsheet.BottomSheetBehavior$StateSettlingTracker$1.run(BottomSheetBehavior.java:2136)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
	at android.view.Choreographer.doCallbacks(Choreographer.java:899)
	at android.view.Choreographer.doFrame(Choreographer.java:827)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
	at android.os.Handler.handleCallback(Handler.java:942)
	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:7924)
	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:936)

ACRA caught a IllegalArgumentException for org.schabi.newpipe.debug.addtoqueuemenuoption
java.lang.IllegalArgumentException: Page doesn't contain an URL
	at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudCommentsExtractor.getPage(SoundcloudCommentsExtractor.java:44)
	at org.schabi.newpipe.extractor.comments.CommentsInfo.getMoreItems(CommentsInfo.java:79)
	at org.schabi.newpipe.paging.CommentsSource$load$info$1.invokeSuspend(CommentsSource.kt:24)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [LazyStandaloneCoroutine{Cancelling}@1d75ab6, Dispatchers.Main.immediate]


Affected Android/Custom ROM version

No response

Affected device model

No response

Additional information

Opening the playlist's info page shows items but also gives this error while trying to load more items

Exception

  • User Action: requested playlist
  • Request: Loading more items: https://m.soundcloud.com/soundcloud-scenes/sets/dreams-emerging-indie
  • Content Country: DE
  • Content Language: de-DE
  • App Language: de_DE
  • Service: SoundCloud
  • Timestamp: 2025-12-14T12:56:03.717+01:00
  • Package: org.schabi.newpipe.debug.addtoqueuemenuoption
  • Service: SoundCloud
  • Version: 0.28.0
  • OS: Linux Android 13 - 33
Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not parse json response
	at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudPlaylistExtractor.getPage(SoundcloudPlaylistExtractor.java:207)
	at org.schabi.newpipe.extractor.playlist.PlaylistInfo.getMoreItems(PlaylistInfo.java:84)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getMorePlaylistItems$8(ExtractorHelper.java:161)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda2.call(D8$$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.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:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.NullPointerException: no track with id -2080638467 in response
	at java.util.Objects.requireNonNull(Objects.java:245)
	at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudPlaylistExtractor.getPage(SoundcloudPlaylistExtractor.java:201)
	... 14 more


Metadata

Metadata

Assignees

No one assigned

    Labels

    SoundCloudService, https://soundcloud.com/bugIssue is related to a bug

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions