Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[YouTube] Crashes related to channels serialization (playing a video after some time, going to another app or to settings, ...) #11356

Closed
6 tasks done
rancidfrog opened this issue Jul 28, 2024 · 22 comments · Fixed by TeamNewPipe/NewPipeExtractor#1222
Labels
bug Issue is related to a bug channel Anything to do with creator channels in the app requires extractor change This issue requires a change to the extractor youtube Service, https://www.youtube.com/

Comments

@rancidfrog
Copy link

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

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

  • User Action: ui error
  • Request: ACRA report
  • Content Country: GB
  • Content Language: en-
  • App Language: en_GB
  • Service: none
  • Version: 0.27.2
  • OS: Linux Android 13 - 33
Crash log

android.os.BadParcelableException: Parcelable encountered IOException writing serializable object (name = org.schabi.newpipe.extractor.channel.ChannelInfo)
	at android.os.Parcel.writeSerializable(Parcel.java:2751)
	at android.os.Parcel.writeValue(Parcel.java:2517)
	at android.os.Parcel.writeValue(Parcel.java:2316)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1265)
	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1802)
	at android.os.Bundle.writeToParcel(Bundle.java:1389)
	at android.os.Parcel.writeBundle(Parcel.java:1334)
	at android.os.Parcel.writeValue(Parcel.java:2433)
	at android.os.Parcel.writeValue(Parcel.java:2323)
	at android.os.BaseBundle.dumpStats(BaseBundle.java:1874)
	at android.os.BaseBundle.dumpStats(BaseBundle.java:1911)
	at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:142)
	at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:158)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7924)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
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:2746)
	... 50 more


Affected Android/Custom ROM version

Android 13 - Lineageos 20

Affected device model

Xiaomi Mi MIX 2S

Additional information

No response

@rancidfrog rancidfrog added bug Issue is related to a bug needs triage Issue is not yet ready for PR authors to take up labels Jul 28, 2024
@dogtopus
Copy link

dogtopus commented Jul 29, 2024

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:

  • Fully load the playlist manually by scrolling down all the way to the bottom
  • Hold the "play in background" button to enqueue everything
  • In the background player UI, tap the shuffle button
  • The app crashes immediately and consistently

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?)

@vshc
Copy link

vshc commented Jul 29, 2024

I experience the same issue, with the same exception. In my case:

  • crash happened when screen has been turned off or NewPipe application was put into background, or switched to another app.
  • it crashed for some videos every time, while for the others everything worked fine.
  • it didn't metter if video was played in the foreground or in the background mode (audio only), in both cases it worked until screen was turned off or application was switched.

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

@opusforlife2 opusforlife2 added youtube Service, https://www.youtube.com/ and removed needs triage Issue is not yet ready for PR authors to take up labels Jul 29, 2024
@KanNinChun
Copy link

KanNinChun commented Jul 31, 2024

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

  • User Action: ui error
  • Request: ACRA report
  • Content Country: HK
  • Content Language: zh-HK
  • App Language: zh_HK_#Hant
  • Service: none
  • Version: 0.27.2
  • OS: Linux samsung/a32xzh/a32x:13/TP1A.220624.014/A326BRZHU9CWL1:user/release-keys 13 - 33
Crash log

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


`

@levik-opsilient
Copy link

Having the same issues on a pixel 3 Android 11

@jensli
Copy link

jensli commented Aug 1, 2024

I have the same problem. Started after upgrading from NewPipe 0.27.1 to 0.27.2. Android 8.0.0 - 26.

@Green0wl
Copy link

Green0wl commented Aug 2, 2024

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.

@jensli
Copy link

jensli commented Aug 3, 2024

The following are my observations and speculations about the problem. Maybe they can contribute to find the cause and fix it.

Basic observations

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:

TeamNewPipe/NewPipeExtractor@v0.24.1...v0.24.2

What could be the mistake?

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:

https://github.com/TeamNewPipe/NewPipeExtractor/blob/v0.24.2/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelExtractor.java#L434

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.

Potintial fix

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.

Disclaimer

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!

@AudricV AudricV added the requires extractor change This issue requires a change to the extractor label Aug 3, 2024
@levik-opsilient

This comment was marked as off-topic.

@WagnerGMD
Copy link

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.

@levik-opsilient

This comment was marked as duplicate.

@opusforlife2
Copy link
Collaborator

@WagnerGMD Look at the description. There is already a crash report available, so no need (unless a dev specifically asks for it).

@opusforlife2 opusforlife2 pinned this issue Aug 10, 2024
@WagnerGMD
Copy link

WagnerGMD commented Aug 12, 2024

@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).

@GittyDoe

This comment was marked as off-topic.

@opusforlife2
Copy link
Collaborator

@WagnerGMD It has nothing to do with any of those settings.

@berrydzhobs

This comment was marked as outdated.

@T-rex2017
Copy link

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

@levik-opsilient
Copy link

levik-opsilient commented Aug 19, 2024 via email

@kirisakow
Copy link

kirisakow commented Sep 9, 2024

@ShareASmile told me to reference my issue #11510 here

Steps to reproduce the bug

  1. Use NewPipe to open any YouTube channel home page.
  2. Go to the "About" tab.
  3. Use the top right "<" (share) pictogram and choose where to share.

Consequences

NewPipe consistently crashes
with following crash report:-

Logs

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: FR
  • Content Language: en-FR
  • App Language: en_FR
  • Service: none
  • Version: 0.27.2
  • OS: Linux HUAWEI/ANE-LX1/HWANE:9/HUAWEIANE-L21/9.1.0.355C432:user/release-keys 9 - 28
Crash log

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


@AudricV AudricV changed the title Videos start then newpipe crashes completely [YouTube] Crashes related to channels serialization (playing a video after some time, going to another app or to settings, ...) Sep 15, 2024
@AudricV AudricV added the channel Anything to do with creator channels in the app label Sep 15, 2024
@noone74

This comment was marked as off-topic.

@ethanc8

This comment was marked as duplicate.

@yudlab

This comment was marked as duplicate.

@Stypox Stypox unpinned this issue Oct 11, 2024
@ethanc8
Copy link

ethanc8 commented Oct 18, 2024

Will the fix be included in a hotfix release, or will we need to wait for a full release in order to get the fix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue is related to a bug channel Anything to do with creator channels in the app requires extractor change This issue requires a change to the extractor youtube Service, https://www.youtube.com/
Projects
None yet