Checklist
Affected version
v0.27.5
Steps to reproduce the bug
"IOS client response is not valid" error has started happening again. It is 2nd occurrence of such exception and It was reported here as a comment In NewPipe Extractor today affecting a wide range of users again, after 1st one was fixed in a hotfix release of Extractor 0.24.4. First time it was reported in #11934 & was fixed successfully by hotfix release of NewPipe v0.27.5.
Note: it will be pinned and tracked here in one place on the NewPipe repo to avoid duplicates on NewPipe Extractor repo. Users are requested to avoid opening duplicates & unnecessary comments with their exception reports as we are aware of the cause of this issue.
Steps for the reproduction:
1: Load a random YouTube video
2: Some videos will not play and instead present an error report page with sad face which also includes a retry and report error button
3. Pressing "Retry button many times" loads the video but not everytime.
Expected behavior
YouTube videos should be loading normally.
Actual behavior
A error page is instead shown along with "Sorry, something went wrong" along with options for retry and report button.
Logs
User provided logs from this comment
Exception
- User Action: requested stream
- Request: https://www.youtube.com/watch?v=EzpqJGtLbHs
- Content Country: BR
- Content Language: pt-BR
- App Language: pt_BR
- Service: YouTube
- Version: 0.27.5
- OS: Linux samsung/a11qub/a11q:12/SP1A.210812.016/A115MUBU4CWF1:user/release-keys 12 - 31
Crash log
org.schabi.newpipe.extractor.exceptions.ExtractionException: IOS player response is not valid
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.fetchIosMobileJsonPlayer(YoutubeStreamExtractor.java:974)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:830)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:60)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:77)
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$bVfA-5gb6gDc8jcAgcGWG5oH0FE(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)
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:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Affected Android/Custom ROM version
Android 12
Affected device model
Samsung A11
Additional information
N/A
Checklist
Affected version
v0.27.5
Steps to reproduce the bug
"IOS client response is not valid" error has started happening again. It is 2nd occurrence of such exception and It was reported here as a comment In NewPipe Extractor today affecting a wide range of users again, after 1st one was fixed in a hotfix release of Extractor 0.24.4. First time it was reported in #11934 & was fixed successfully by hotfix release of NewPipe v0.27.5.
Note: it will be pinned and tracked here in one place on the NewPipe repo to avoid duplicates on NewPipe Extractor repo. Users are requested to avoid opening duplicates & unnecessary comments with their exception reports as we are aware of the cause of this issue.
Steps for the reproduction:
1: Load a random YouTube video
2: Some videos will not play and instead present an error report page with sad face which also includes a retry and report error button
3. Pressing "Retry button many times" loads the video but not everytime.
Expected behavior
YouTube videos should be loading normally.
Actual behavior
A error page is instead shown along with "Sorry, something went wrong" along with options for retry and report button.
Logs
User provided logs from this comment
Exception
Crash log
Affected Android/Custom ROM version
Android 12
Affected device model
Samsung A11
Additional information
N/A