Soundcloud Could not parse json response when loading playlists
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
- Open Newpipe
- Go to your favourite soundcloud playlist
- (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