Open rancidfrog opened 1 month ago
I'm seeing the same exception consistently when I was trying to shuffle large YouTube playlists (e.g. https://www.youtube.com/watch?v=NC2blnl0WTE&list=PL8mG-RkN2uTx9GY3silWiMf2W2EJ9sTgx). I specifically did the following:
I think this was introduced only after the 0.27.2 hotfix.
(Despite the above consistent reproduction steps, I think the root cause could still be intermittent, as I'm also occasionally seeing it even when I'm not doing the above steps. My guess is that shuffling large amount of videos just increase the chance of getting a bad one, thus making the reproduction consistent. A wild guess: YouTube AB testing something again?)
I experience the same issue, with the same exception. In my case:
UPDATE: When I played the same video again after few hours, it worked fine and didn't crash the application.
Also one thing worth noting - I had such problem with videos only from a single channel (probably with all of them, but checked only a few).
In my case it will crash the app when i attempt to open the playlist tab after i click play all video, it will just crash the app if you try to get to the playlist tab
`## Exception
android.os.BadParcelableException: Parcelable encountered IOException writing serializable object (name = org.schabi.newpipe.extractor.channel.ChannelInfo)
at android.os.Parcel.writeSerializable(Parcel.java:2763)
at android.os.Parcel.writeValue(Parcel.java:2529)
at android.os.Parcel.writeValue(Parcel.java:2328)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:1277)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
at android.os.Bundle.writeToParcel(Bundle.java:1362)
at android.os.Parcel.writeBundle(Parcel.java:1346)
at android.os.Parcel.writeValue(Parcel.java:2445)
at android.os.Parcel.writeValue(Parcel.java:2335)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1874)
at android.os.BaseBundle.dumpStats(BaseBundle.java:1911)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:150)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8762)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Caused by: java.io.NotSerializableException: org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at java.util.ArrayList.writeObject(ArrayList.java:762)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1036)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at android.os.Parcel.writeSerializable(Parcel.java:2758)
... 49 more
Having the same issues on a pixel 3 Android 11
I have the same problem. Started after upgrading from NewPipe 0.27.1 to 0.27.2. Android 8.0.0 - 26.
same problem. as @jensli mentioned, UI crash is observed when switching from version 0.27.1
to 0.27.2
. probably, it can be somehow related to the fact that youtube updates something at itself. not sure if the bug is between versions 0.27.1
and 0.27.2
, because in version 0.27.1
videos did not start at all, although before the changes in youtube, even in version 0.27.1
everything worked correctly.
I also observe what @vshc said. this crash mostly happens when I turn off the screen or switch from one application to another. at the same time, sometimes even with long screen off times, everything continues to work correctly. i think it might be due to memory freeing in android when another application is launched. then, with long screen off times, even if everything works, it could be explained by the fact that android kept the application data in memory all the time and didn't unload it until I turned the screen back on.
The following are my observations and speculations about the problem. Maybe they can contribute to find the cause and fix it.
The Android framework tries to serialize a ChannelInfo
object, which it turn references a YoutubeChannelExtractor
. YoutubeChannelExtractor
is not serializable so the operations fails.
It seems reasonable that YoutubeChannelExtractor
is not serializable. It seems to be a service kind of class, not a data-holder kind of class. Because of this, it is probably by mistake that YoutubeChannelExtractor
is serialized.
The bug was probably introduced in the changes between version 2.4.1 and 2.4.2:
https://github.com/TeamNewPipe/NewPipeExtractor/compare/v0.24.1...v0.24.2
The following is one idea:
ChannelInfo
contains ListLinkHandler
objects in the field tabs
.
The tabs
field gets populated with a ReadyChannelTabListLinkHandler
in YoutubeChannelExtractor#getTabsForNonAgeRestrictedChannels
with this code:
tabs.add(0, new ReadyChannelTabListLinkHandler(
tabUrl,
channelId,
ChannelTabs.VIDEOS,
(service, linkHandler) -> new VideosTabExtractor(
service, linkHandler, tabRenderer, channelHeader,
name, id, url)));
channelHeader
is a field of YoutubeChannelExtractor
. Therefor them lambda object will contain a reference to the enclosing YoutubeChannelExtractor
.
Bingo! That is a possible chain of references from ChannelInfo
(the object being serialized) to YoutubeChannelExtractor
(the object that will trigger the error if it is serialized.
The whole chain looks like this:
ChannelInfo
where the tabs
field references...
...the object ReadyChannelTabListLinkHandler
where the extractorBuilder
field references...
...a lambda implementing ChannelTabExtractorBuilder
which has a filed for the capture YoutubeChannelExtractor
, to be able to access channelHeader
.
When the framework serializes ChannelInfo
it follows thoses references and tries to serialize YoutubeChannelExtractor
which triggers NotSerializableException
.
Create a local variable that contains channelHeader
to avoid having the whole YoutubeChannelExtractor
// Local variable to avoid that the lambda captures YoutubeChannelExtractor
Optional<ChannelHeader> localChannelHeader = channelHeader;
tabs.add(0, new ReadyChannelTabListLinkHandler(
tabUrl,
channelId,
ChannelTabs.VIDEOS,
(service, linkHandler) -> new VideosTabExtractor(
service, linkHandler, tabRenderer, localChannelHeader,
name, id, url)));
Edit: On a second though this exact fix doesn't work because Optional
is not serializable. But with some slight variation it can be made to work.
I'm not at all sure that the above reasoning is correct. I have not tried it. It is based only on reading the code at GitHub. But maybe!
it's interesting, but when using SoundCloud it doesn't crash, only youtube
On Thu, Aug 1, 2024 at 11:01 AM Jens Lidestrom @.***> wrote:
I have the same problem. Started after upgrading from NewPipe 0.27.1 to 0.27.2. Android 8.0.0 - 26.
— Reply to this email directly, view it on GitHub https://github.com/TeamNewPipe/NewPipe/issues/11356#issuecomment-2263294759, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOGIUVW5BPRFCWPIPGJK7P3ZPJESZAVCNFSM6AAAAABLSRK34KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRTGI4TINZVHE . You are receiving this because you commented.Message ID: @.***>
Finally I had found something with the help of Scoop. Because it's match with the first line ("User Action: ui error") but if you want a copy from the crash log you will need to explain me how to proceed from my PC ? As reminder, I confirm my knowledge about ADB is just basic.
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = org.schabi.newpipe.extractor.channel.ChannelInfo)
at android.os.Parcel.writeSerializable(Parcel.java:2113)
at android.os.Parcel.writeValue(Parcel.java:1883)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.os.Parcel.writeBundle(Parcel.java:1044)
at android.os.Parcel.writeValue(Parcel.java:1801)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
at android.os.Bundle.writeToParcel(Bundle.java:1303)
at android.app.IActivityTaskManager$Stub$Proxy.activityStopped(IActivityTaskManager.java:4389)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:145)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7664)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Caused by: java.io.NotSerializableException: org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at java.util.ArrayList.writeObject(ArrayList.java:762)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1036)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at android.os.Parcel.writeSerializable(Parcel.java:2108)
... 43 more
@WagnerGMD Look at the description. There is already a crash report available, so no need (unless a dev specifically asks for it).
@opusforlife2 Ok I will wait apparently it could be different (unless it's another one ? I can't tell).
For the record : I had disable all the animation (inside the settings of Android 12 as developer). Perhaps it's the delay ? Because my history is bigger and apparenlty I haven't met this bug since these changes (3 at total). What about the rotation ? Perhaps I'm wrong feeling but I believe there is something to deep (specially when we use the fullscreen).
Don't know how to report issue but I'm having this one
org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException: Got error: "Sign in to confirm that you're not a bot"
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.checkPlayabilityStatus(YoutubeStreamExtractor.java:898)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:784)
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$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)
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)
@WagnerGMD It has nothing to do with any of those settings.
For now it. Stopped playing videos
At least for me it only occurs when i try to play video from a playlist in the background and switch to another app or turn off screen , when i play it back from history or open the individual video and push to bg , there seems to be a non problem
Same thing, It won't crash when playing the link directly, only when playing from a subscription.
On Sat, Aug 17, 2024 at 5:37 PM T-rex2017 @.***> wrote:
At least for me it only occurs when i try to play video from a playlist in the background and switch to another app or turn off screen , when i play it back from history or open the individual video and push to bg , there seems to be a non problem
— Reply to this email directly, view it on GitHub https://github.com/TeamNewPipe/NewPipe/issues/11356#issuecomment-2294992456, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOGIUVV7I6CMCQJ5MGRWYALZR67B3AVCNFSM6AAAAABLSRK34KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJUHE4TENBVGY . You are receiving this because you commented.Message ID: @.***>
@ShareASmile told me to reference my issue #11510 here
Steps to reproduce the bug
- Use NewPipe to open any YouTube channel home page.
- Go to the "About" tab.
- Use the top right "<" (share) pictogram and choose where to share.
NewPipe consistently crashes with following crash report:-
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = org.schabi.newpipe.extractor.channel.ChannelInfo)
at android.os.Parcel.writeSerializable(Parcel.java:1720)
at android.os.Parcel.writeValue(Parcel.java:1668)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.os.Parcel.writeBundle(Parcel.java:915)
at android.os.Parcel.writeValue(Parcel.java:1586)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:875)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1583)
at android.os.Bundle.writeToParcel(Bundle.java:1233)
at android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:3986)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)
at android.os.Handler.handleCallback(Handler.java:907)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.io.NotSerializableException: org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeChannelExtractor
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at java.util.ArrayList.writeObject(ArrayList.java:762)
at java.lang.reflect.Method.invoke(Native Method)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1038)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1552)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
at android.os.Parcel.writeSerializable(Parcel.java:1715)
... 43 more
org.schabi.newpipe.player.mediasource.FailedMediaSource$StreamInfoLoadException: org.schabi.newpipe.extractor.stream.StreamInfo$StreamExtractException: Could not get any stream. See error variable to get further details.
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: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)
Caused by: org.schabi.newpipe.extractor.stream.StreamInfo$StreamExtractException: Could not get any stream. See error variable to get further details.
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:171)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:81)
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
I have not experienced this issue on the following channels, despite playing them in the background very often:
I have encountered crashes while playing from playlists on these channels, but not when playing directly from the videos list:
I have encountered crashes while playing directly from the videos list on these channels:
These crashes only occur upon backgrounding or putting the phone to sleep.
Checklist
Affected version
0.27.2
Steps to reproduce the bug
Play any video, after a while newpipe crashes
Expected behavior
Video playback
Actual behavior
Newpipe crashes, Before newpipe used to throw errors but playbagk continued, now on error newpipe crashes
Screenshots/Screen recordings
No response
Logs
Exception
Crash log
Affected Android/Custom ROM version
Android 13 - Lineageos 20
Affected device model
Xiaomi Mi MIX 2S
Additional information
No response