Newpipe: [ACRA] Class not found when unmarshalling

Created on 6 Aug 2020  路  9Comments  路  Source: TeamNewPipe/NewPipe

Version

Debug version compiled from the latest commit in the dev branch

Steps to reproduce the bug

Not sure

Expected behavior

ACRA shows up

Actual behaviour

ACRA doesn't show up

Logs

From logcat:

2020-08-06 16:40:39.060 4703-12785/? E/Parcel: Class not found when unmarshalling: org.schabi.newpipe.report.ErrorActivity$ErrorInfo
    java.lang.ClassNotFoundException: org.schabi.newpipe.report.ErrorActivity$ErrorInfo
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:454)
        at android.os.Parcel.readParcelableCreator(Parcel.java:3031)
        at android.os.Parcel.readParcelable(Parcel.java:2981)
        at android.os.Parcel.readValue(Parcel.java:2883)
        at android.os.Parcel.readArrayMapInternal(Parcel.java:3261)
        at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)
        at android.os.BaseBundle.unparcel(BaseBundle.java:236)
        at android.os.BaseBundle.getString(BaseBundle.java:1160)
        at android.content.Intent.getStringExtra(Intent.java:8548)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:765)
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:676)
        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1776)
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:607)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1615)
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1512)
        at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1466)
        at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1655)
        at android.os.Binder.execTransactInternal(Binder.java:1021)
        at android.os.Binder.execTransact(Binder.java:994)
     Caused by: java.lang.ClassNotFoundException: org.schabi.newpipe.report.ErrorActivity$ErrorInfo
        at java.lang.Class.classForName(Native Method)聽
        at java.lang.Class.forName(Class.java:454)聽
        at android.os.Parcel.readParcelableCreator(Parcel.java:3031)聽
        at android.os.Parcel.readParcelable(Parcel.java:2981)聽
        at android.os.Parcel.readValue(Parcel.java:2883)聽
        at android.os.Parcel.readArrayMapInternal(Parcel.java:3261)聽
        at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:292)聽
        at android.os.BaseBundle.unparcel(BaseBundle.java:236)聽
        at android.os.BaseBundle.getString(BaseBundle.java:1160)聽
        at android.content.Intent.getStringExtra(Intent.java:8548)聽
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:765)聽
        at com.android.server.wm.ActivityStarter.startActivity(ActivityStarter.java:676)聽
        at com.android.server.wm.ActivityStarter.startActivityMayWait(ActivityStarter.java:1776)聽
        at com.android.server.wm.ActivityStarter.execute(ActivityStarter.java:607)聽
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1615)聽
        at com.android.server.wm.ActivityTaskManagerService.startActivityAsUser(ActivityTaskManagerService.java:1512)聽
        at com.android.server.wm.ActivityTaskManagerService.startActivity(ActivityTaskManagerService.java:1466)聽
        at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:1655)聽
        at android.os.Binder.execTransactInternal(Binder.java:1021)聽
        at android.os.Binder.execTransact(Binder.java:994)聽
bug

All 9 comments

@Stypox: Could you look into this? My guess would be that multidex is causing issues

@wb9688 Did the PR fix the issue?

@Isira-Seneviratne: I'll have to look into that later. If it wasn't fixed, we'll have to ise multiDexKeepFile

I tested the PR with the Java 8 Date/Time API changes on an AVD running Android 4.4, and I got this error when switching to the non-YouTube services (not sure if it's related to this issue, but they display their contents normally aside from the error):

Exception

  • __User Action:__ requested kiosk
  • __Request:__ https://soundcloud.com/charts/new
  • __Content Country:__ US
  • __Content Language:__ en-US
  • __App Language:__ en_US
  • __Service:__ SoundCloud
  • __Version:__ 0.20.1
  • __OS:__ Linux Android 4.4.2 - 19
    Crash log

javax.net.ssl.SSLException: SSL handshake terminated: ssl=0xb8d1bba0: SSL_ERROR_ZERO_RETURN occurred. You should never see this.
    at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
    at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
    at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:320)
    at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:284)
    at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:169)
    at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
    at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
    at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
    at okhttp3.RealCall.execute(RealCall.java:93)
    at org.schabi.newpipe.DownloaderImpl.execute(DownloaderImpl.java:263)
    at org.schabi.newpipe.extractor.downloader.Downloader.get(Downloader.java:70)
    at org.schabi.newpipe.extractor.downloader.Downloader.get(Downloader.java:29)
    at org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper.clientId(SoundcloudParsingHelper.java:59)
    at org.schabi.newpipe.extractor.services.soundcloud.extractors.SoundcloudChartsExtractor.getInitialPage(SoundcloudChartsExtractor.java:56)
    at org.schabi.newpipe.extractor.utils.ExtractorHelper.getItemsPageOrLogError(ExtractorHelper.java:19)
    at org.schabi.newpipe.extractor.kiosk.KioskInfo.getInfo(KioskInfo.java:72)
    at org.schabi.newpipe.extractor.kiosk.KioskInfo.getInfo(KioskInfo.java:58)
    at org.schabi.newpipe.util.ExtractorHelper.lambda$getKioskInfo$11(ExtractorHelper.java:184)
    at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$NbG7JFGg0N9HK-3exJNRB9r_hYY.call(lambda)
    at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
    at io.reactivex.Single.subscribe(Single.java:3666)
    at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
    at io.reactivex.Single.subscribe(Single.java:3666)
    at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
    at io.reactivex.Maybe.subscribe(Maybe.java:4290)
    at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
    at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
    at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
    at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
    at io.reactivex.Flowable.subscribe(Flowable.java:14935)
    at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
    at io.reactivex.Maybe.subscribe(Maybe.java:4290)
    at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
    at io.reactivex.Single.subscribe(Single.java:3666)
    at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
    at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
    at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
    at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)



You should never see this.

That isn't ominous at all. O_O

@Isira-Seneviratne: Nope, that's because that old Android version doesn't properly support TLS 1.2

@Isira-Seneviratne: Nope, that's because that old Android version doesn't properly support TLS 1.2

This might be useful in that case: https://f-droid.org/en/2020/05/29/android-updates-and-tls-connections.html

Then this can be closed?

@Stypox: Nope, only once I can confirm it works now when e.g. the class mentioned in the OP isn't in the main .dex file. Not sure if there's an easy way to let it do that though.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

f242 picture f242  路  3Comments

Knowbody42 picture Knowbody42  路  3Comments

ghost picture ghost  路  3Comments

probonopd picture probonopd  路  3Comments

danialbehzadi picture danialbehzadi  路  3Comments