Skip to content

Soundcloud Could not parse json response when loading playlists #11605

@absurdlylongusername

Description

@absurdlylongusername

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.27.2

Steps to reproduce the bug

  1. Open Newpipe
  2. Go to your favourite soundcloud playlist
  3. (optional) scroll down to load more songs in the playlist

Expected behavior

All songs in playlist load immediately upon opening the playlist

Actual behavior

See the spinner spinning longer than usual then see the toaster saying "Something went wrong".
Or the first batch of songs load, but you keep scrolling down to load more songs until you get the error.
Force close NewPipe and repeat to reproduce.

Screenshots/Screen recordings

No response

Logs

Exception

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:79)
 at org.schabi.newpipe.util.ExtractorHelper.lambda$getMorePlaylistItems$11(ExtractorHelper.java:190)
 at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$noX9-ubPrK_3aZXBqr0VX801tj0(ExtractorHelper.java:0)
 at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.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.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: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: java.lang.NullPointerException: no track with id 1801653561 in response
 at j$.util.Objects.requireNonNull(Unknown Source:5)
 at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudPlaylistExtractor.getPage(SoundcloudPlaylistExtractor.java:201)
 ... 15 more


Affected Android/Custom ROM version

Linux Android 9 - 28

Affected device model

Samsung Galaxy S8

Additional information

Problem occurs on both WiFi and mobile data.

In addition to this I am also experiencing similar issues in #11538. The songs that do happen to load only have 2s, and have a ParsingException, but this one says Could not resolve id with embedded player. ClientId not extracted. Although I presume maybe this could be considered another bug, but I'm pretty sure they have the same cause.

Exception

Crash log

org.schabi.newpipe.player.mediasource.FailedMediaSource$StreamInfoLoadException: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not resolve id with embedded player. ClientId not extracted
 at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$7(MediaSourceManager.java:448)
 at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$7wkrzYpwfZdms79okpk8_MCaW4U(MediaSourceManager.java:0)
 at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda5.apply(R8$$SyntheticClass:0)
 at io.reactivex.rxjava3.internal.operators.single.SingleOnErrorReturn$OnErrorReturn.onError(SingleOnErrorReturn.java:55)
 at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onError(SingleMap.java:70)
 at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onError(SingleDoOnError.java:63)
 at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onError(SingleSubscribeOn.java:73)
 at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onError(MaybeToSingle.java:89)
 at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onError(FlowableElementAtMaybe.java:94)
 at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.onError(MaybeConcatArray.java:100)
 at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle$FromSingleObserver.onError(MaybeFromSingle.java:82)
 at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess$DoOnSuccess.onError(SingleDoOnSuccess.java:65)
 at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:47)
 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:16144)
 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: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.ParsingException: Could not resolve id with embedded player. ClientId not extracted
 at org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudStreamLinkHandlerFactory.getId(SoundcloudStreamLinkHandlerFactory.java:44)
 at org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory.fromUrl(LinkHandlerFactory.java:83)
 at org.schabi.newpipe.extractor.linkhandler.LinkHandlerFactory.fromUrl(LinkHandlerFactory.java:63)
 at org.schabi.newpipe.extractor.StreamingService.getStreamExtractor(StreamingService.java:302)
 at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
 at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
 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)
 ... 23 more
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not resolve id with embedded player. ClientId not extracted
 at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper.resolveIdWithWidgetApi(SoundcloudParsingHelper.java:233)
 at org.schabi.newpipe.extractor.services.soundcloud.linkHandler.SoundcloudStreamLinkHandlerFactory.getId(SoundcloudStreamLinkHandlerFactory.java:42)
 ... 31 more
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Unable to get id
 at org.schabi.newpipe.extractor.utils.JsonUtils.getValue(JsonUtils.java:36)
 at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper.resolveIdWithWidgetApi(SoundcloudParsingHelper.java:229)
 ... 32 more


Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions