NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

Soundcloud Could not parse json response when loading playlists

Open absurdlylongusername opened this issue 1 year ago • 0 comments

Checklist

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

  • User Action: requested playlist
  • Request: Loading more items: https://soundcloud.com/absurdlylongusername/sets/chill
  • Content Country: GB
  • Content Language: en-GB
  • App Language: en_GB
  • Service: SoundCloud
  • Version: 0.27.2
  • OS: Linux Android 9 - 28
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

  • User Action: play stream
  • Request: Loading failed for [midnight sushi]: https://soundcloud.com/xavimakesmusic/midnight-sushi-1
  • Content Country: GB
  • Content Language: en-GB
  • App Language: en_GB
  • Service: SoundCloud
  • Version: 0.27.2
  • OS: Linux Android 9 - 28
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


absurdlylongusername avatar Oct 11 '24 02:10 absurdlylongusername