google / conscrypt

Conscrypt is a Java Security Provider that implements parts of the Java Cryptography Extension and Java Secure Socket Extension.
Apache License 2.0
1.28k stars 275 forks source link

TimeoutException in OpenSSLX509Certificate:finalize #378

Open mobilekosmos opened 6 years ago

mobilekosmos commented 6 years ago

I am getting crash reports from our Android App with following stacktrace:

TimeoutException (@com.android.org.conscrypt.NativeCrypto:X509_free:-2) via (@com.android.org.conscrypt.OpenSSLX509Certificate:finalize:491) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.X509_free(Native Method) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:491) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:841)

TimeoutException (@java.lang.Object:finalize:224) via (@com.android.org.conscrypt.OpenSSLX509Certificate:finalize:494) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at java.lang.Object.finalize(Object.java:224) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:494) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:841)

TimeoutException (@java.lang.Object:wait:-2) via (@java.lang.Object:wait:401) FULL TRACE: java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:401) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:841)

TimeoutException (@com.android.org.conscrypt.NativeCrypto:X509_free:-2) via (@com.android.org.conscrypt.OpenSSLX509Certificate:finalize:514) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 30 seconds at com.android.org.conscrypt.NativeCrypto.X509_free(Native Method) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:514) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185) at java.lang.Thread.run(Thread.java:833)

TimeoutException (@com.android.org.conscrypt.NativeCrypto:X509_free:-2) via (@com.android.org.conscrypt.OpenSSLX509Certificate:finalize:514) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.X509_free(Native Method) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:514) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:202) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:185) at java.lang.Thread.run(Thread.java:818)

TimeoutException (@com.android.org.conscrypt.NativeCrypto:X509_free:-2) via (@com.android.org.conscrypt.OpenSSLX509Certificate:finalize:514) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.X509_free(Native Method) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:514) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:191) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:174) at java.lang.Thread.run(Thread.java:818)

TimeoutException (@com.android.org.conscrypt.NativeCrypto:EVP_PKEY_free:-2) via (@com.android.org.conscrypt.OpenSSLKey:finalize:164) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.EVP_PKEY_free(Native Method) at com.android.org.conscrypt.OpenSSLKey.finalize(OpenSSLKey.java:164) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:841)

TimeoutException (@java.lang.Daemons$Daemon:isRunning:78) via (@java.lang.Daemons$FinalizerDaemon:run:170) FULL TRACE: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at java.lang.Daemons$Daemon.isRunning(Daemons.java:78) at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170) at java.lang.Thread.run(Thread.java:818)

Our app is really big, how can I find the place where this happens? Any hints?

flooey commented 6 years ago

What version of Android are you seeing this on?

mobilekosmos commented 6 years ago

The reports are from: Android 4.4.2 Samsung GT-P5210 Galaxy Tab 3 10.1 3G

and

Huawei KIW-L21 Honor 5X Android 6.0.1

mobilekosmos commented 6 years ago

Did you have a chance to look at this issue?

mobilekosmos commented 6 years ago

Android 4.4.2 Samsung Galaxy Note 10 GT-N8010

Android 5.1.1 G Pad II 10.1 LTE V935

163 Crashes in 2018 reported

naturalStoryZhen commented 6 years ago

My app has this TimeoutException crash,2809 Crashes in was reported!! java.util.concurrent.TimeoutException com.android.org.conscrypt.OpenSSLDigestContext.finalize() timed out after 30 seconds java.lang.Daemons$Daemon.isRunning(Daemons.java:79)

Android 5.1.1 OPPO A33 and OPPO A33M crashes mostly.

Android 5.0 OPPO R9M and OPPO A59S and 荣耀 KIW-AL10

nitinglobal commented 6 years ago

i am also facing the same problem and mostly the oppo devices having 5.0 and 5.1 OS are crashing. Please suggest us what we can do.

kurthuwig commented 5 years ago

I saw this on Samsung Galaxy Note 8.0 (kona3g), Android 4.4:

java.util.concurrent.TimeoutException: 
  at com.android.org.conscrypt.NativeCrypto.X509_free (Native Method)
  at com.android.org.conscrypt.OpenSSLX509Certificate.finalize (OpenSSLX509Certificate.java:491)
  at java.lang.Daemons$FinalizerDaemon.doFinalize (Daemons.java:187)
  at java.lang.Daemons$FinalizerDaemon.run (Daemons.java:170)
  at java.lang.Thread.run (Thread.java:841)
namchuai commented 4 years ago

I also faced this issue with Gmail app.

06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: FATAL EXCEPTION: FinalizerWatchdogDaemon 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: Process: com.google.android.gm, PID: 3822 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at com.google.android.gms.org.conscrypt.NativeCrypto.EVP_PKEY_free(Native Method) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at com.google.android.gms.org.conscrypt.NativeRef$EVP_PKEY.doFree(:com.google.android.gms@202117063@20.21.17 (110306-316502805):0) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at com.google.android.gms.org.conscrypt.NativeRef.finalize(:com.google.android.gms@202117063@20.21.17 (110306-316502805):1) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:289) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:276) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at java.lang.Daemons$Daemon.run(Daemons.java:137) 06-18 17:36:10.686 10097 3822 3838 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)

ashishbhandari commented 4 years ago

I can see tons of crash in Firebase crashlytics, does anyone have an idea why this crash happen:

Fatal Exception: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 10 seconds at com.android.org.conscrypt.NativeCrypto.X509_free(NativeCrypto.java) at com.android.org.conscrypt.OpenSSLX509Certificate.finalize(OpenSSLX509Certificate.java:582) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:250) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:237) at java.lang.Daemons$Daemon.run(Daemons.java:103) at java.lang.Thread.run(Thread.java:764)

ashishbhandari commented 4 years ago

Does anyone have any finding or viewpoint on the same that why it happens and what is the root cause of it?

heartinfei commented 3 years ago

I have the same problem.

mlsg-ashish-kha commented 2 years ago

I'am also facing the same error: java.util.concurrent.TimeoutException: com.android.org.conscrypt.OpenSSLX509Certificate.finalize() timed out after 60 seconds

WaheedurRahman commented 1 year ago

I am also facing this issue Fatal Exception: java.util.concurrent.TimeoutException: com.android.org.conscrypt.NativeSsl.finalize() timed out after 10 seconds at android.os.Parcel.nativeDestroy(Parcel.java) at android.os.Parcel.destroy(Parcel.java:3617) at android.os.Parcel.finalize(Parcel.java:3630) at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:319) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:306) at java.lang.Daemons$Daemon.run(Daemons.java:140) at java.lang.Thread.run(Thread.java:1012)

falgunirana2022 commented 1 year ago

I'm facing the same issue on specific devices. Device: Samsung Galaxy Tab4 10.0 Android Version: 5.0.2

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/org/conscrypt/OpenSSLX509Certificate; at com.google.android.gms.org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509DerInputStream(:com.google.android.gms@231613006@23.16.13 (020300-527363516):1) at com.google.android.gms.org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509DerInputStream(:com.google.android.gms@231613006@23.16.13 (020300-527363516):2) at com.google.android.gms.org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(:com.google.android.gms@231613006@23.16.13 (020300-527363516):12) at com.google.android.gms.org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(:com.google.android.gms@231613006@23.16.13 (020300-527363516):1) at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:196) at com.google.android.gms.org.conscrypt.SSLUtils.decodeX509Certificate(:com.google.android.gms@231613006@23.16.13 (020300-527363516):1) at com.google.android.gms.org.conscrypt.SSLUtils.decodeX509CertificateChain(:com.google.android.gms@231613006@23.16.13 (020300-527363516):2) at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(:com.google.android.gms@231613006@23.16.13 (020300-527363516):2) at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_do_handshake(:com.google.android.gms@231613006@23.16.13 (020300-527363516)) at com.google.android.gms.org.conscrypt.NativeSsl.doHandshake(:com.google.android.gms@231613006@23.16.13 (020300-527363516):6) at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@231613006@23.16.13 (020300-527363516):16) at com.google.android.gms.org.conscrypt.KitKatPlatformOpenSSLSocketImplAdapter.startHandshake(:com.google.android.gms@231613006@23.16.13 (020300-527363516)) at com.android.okhttp.Connection.upgradeToTls(Connection.java:1285) at com.android.okhttp.Connection.connect(Connection.java:1197) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:393) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:296) at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:399) at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:110) at com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:221) at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218) at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:25) at com.google.android.gms.internal.firebase-auth-api.zzyj.zza(zzyj.java) at com.google.android.gms.internal.firebase-auth-api.zzxp.zzf(zzxp.java) at com.google.android.gms.internal.firebase-auth-api.zzvf.zzp(zzvf.java) at com.google.android.gms.internal.firebase-auth-api.zzxb.zzj(zzxb.java) at com.google.android.gms.internal.firebase-auth-api.zzvp.zzc(zzvp.java) at com.google.android.gms.internal.firebase-auth-api.zzyc.run(zzyc.java) 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:818)

rekaszeru commented 7 months ago

Any update here?

chejdj commented 2 months ago

mark