Android Kotlin Fingerprint - Binder has been finalized - android

I'm having a problem handling fingerprint authentication using Kotlin. After the fingerprint authentication succeeds and the user logins, it always gives this exception:
E/System: Uncaught exception thrown by finalizer
E/System: java.lang.IllegalStateException: Binder has been finalized!
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:618)
at android.security.IKeystoreService$Stub$Proxy.abort(IKeystoreService.java:1341)
at android.security.KeyStore.abort(KeyStore.java:519)
at android.security.keystore.AndroidKeyStoreCipherSpiBase.finalize(AndroidKeyStoreCipherSpiBase.java:744)
at android.security.keystore.AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding.finalize(AndroidKeyStoreUnauthenticatedAESCipherSpi.java)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:224)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:211)
at java.lang.Thread.run(Thread.java:760)
I really don't understand why it is giving me this exception. The app doesn't close, it hasn't any problem. But as I'm kinda perfectionist i didn't want to have this error so I really would like if some of you can help me please :(

Related

Errors occur in some specific mobiles on crashlytics

There are some errors which only occur in some specific mobiles and that are shown in crashlytics. In my mobile device app working fine but there are some mobiles where the screen is crashing. I am unable to identify how to resolve that issue without knowing the cause of error. For now it is showing me this error which I have pasted below.
This is the title on Crashlytics .
ConsumerSingleObserver.java line 49
and this exception is showing
Fatal Exception: io.reactivex.rxjava3.exceptions.CompositeException: 2 exceptions occurred.
at io.reactivex.rxjava3.internal.observers.ConsumerSingleObserver.onError(ConsumerSingleObserver.java:49)
at io.reactivex.rxjava3.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:79)
at io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:123)
at android.os.Handler.handleCallback(Handler.java:914)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:225)
at android.app.ActivityThread.main(ActivityThread.java:7563)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:994)
Caused by io.reactivex.rxjava3.exceptions.CompositeException$a: Multiple exceptions (2)
|-- androidx.room.rxjava3.EmptyResultSetException: Query returned empty result set: select * from FamilyDetails where serverId=?
at b.g.i.a.f.i$g.call(FamilyDetailsDao_Impl.java:90)
|-- java.lang.NullPointerException: null
at b.g.n.d.q.i.k(ConsentStepViewModel.kt:2)
CompositeException is usually thrown when your error handler itself throws an exception when it's handling an error thrown in the stream.
Make sure your error handling code is not throwing any exceptions.
Usually the stack trace will have the root cause below the CompositeException, prefixed with Caused by.

Crash on Production Firebase Database RejectedExecution Exception and HardAssert Exception

Android App getting crashed on production many times by two exceptions.
Non-fatal Exception: java.lang.RuntimeException: Uncaught exception in Firebase Database runloop (20.0.0).
further caused by:
Caused by java.lang.AssertionError: hardAssert failed: Expected connection state disconnected, but was GettingToken
at com.google.firebase.database.connection.ConnectionUtils.hardAssert(ConnectionUtils.java:67)
and
Non-fatal Exception: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask#ea8d495 rejected from com.google.firebase.database.v.i0.c$a#ee619aa[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 430]
I had tried the latest version of Firebase Libraries, tried older version libraries as well but no luck.
This is only happening on production live build, so it is hard to track the cause.
Someone help is highly appreciated. Please help me out.
Thanks

Raygun client unable to send - failed resolution of InetAddressUtils

Is anyone who is using Raygun in their Android apps seeing this error exception:
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/util/InetAddressUtils;
at main.java.com.mindscapehq.android.raygun4android.messages.NetworkInfo.readIPAddress(SourceFile:117)
at main.java.com.mindscapehq.android.raygun4android.messages.NetworkInfo.<init>(SourceFile:20)
at main.java.com.mindscapehq.android.raygun4android.messages.RaygunMessageDetails.setNetworkInfo(SourceFile:61)
at main.java.com.mindscapehq.android.raygun4android.RaygunMessageBuilder.setNetworkInfo(SourceFile:81)
at main.java.com.mindscapehq.android.raygun4android.RaygunClient.buildMessage(SourceFile:508)
at main.java.com.mindscapehq.android.raygun4android.RaygunClient.send(SourceFile:221)
This exception is very intermittent, but when it does happen, it always occurs when the app calls RaygunClient.send(...). I'm using Raygun in my app to report error conditions such as a failed webservice call, however, when I report this to Raygun it crashes my app!
The release of v3.0.6 includes fixes that address the problems seen with InetAddressUtils NoClassDefFoundError exceptions. Please update to release v3.0.6 and let us know if the problems persist.
Please see our documentation on how to update. https://raygun.com/documentation/language-guides/android/crash-reporting/installation/
Regards,
Mitchell.

Exception while Dropbox API tries to read a resource - might be multidex issue?

I have an Android app with Dropbox support. Lately I've started getting an exception for some users. I can not reproduce it. It affects just a few users. The exception happens when Dropbox tries to access /sdk-version.txt which is one of their resources. On Android Studio I can see the resource is there, here is a screenshot:
And like I said, it doesn't happen for me or for most of my users. If I use apktool on my apk, the sdk-version.txt file shows up on a folder called unknown. I see a lot of other files there but most have a package, this one doesn't. Not sure if that matters.
I also have this line on my gradle file multiDexKeepFile file('multidex-config.txt') and in there I have:
com.dropbox.core.DbxRequestUtil
com.dropbox.core.http.HttpRequestor
com.dropbox.core.DbxSdkVersion
Those were all attempts at fixing this but it didn't help.
So far the exception has happened on Android 5 and 6 across multiple manufacturers. This is the exception:
Fatal Exception: java.lang.ExceptionInInitializerError
at com.dropbox.core.DbxRequestUtil.buildUserAgentHeader(DbxRequestUtil.java:151)
at com.dropbox.core.DbxRequestUtil.addUserAgentHeader(DbxRequestUtil.java:136)
at com.dropbox.core.DbxRequestUtil.startPostRaw(DbxRequestUtil.java:233)
at com.dropbox.core.v2.DbxRawClientV2$1.execute(DbxRawClientV2.java:107)
at com.dropbox.core.v2.DbxRawClientV2.executeRetriable(DbxRawClientV2.java:284)
at com.dropbox.core.v2.DbxRawClientV2.rpcStyle(DbxRawClientV2.java:102)
at com.dropbox.core.v2.users.DbxUserUsersRequests.getCurrentAccount(DbxUserUsersRequests.java:120)
at mypackage.UserDropbox.(UserDropbox.java)
at mypackage.DropboxHelper$1.run(DropboxHelper.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:81smiling face with sunglasses
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'void java.util.jar.JarVerifier.removeMetaEntries()' on a null object reference
at java.util.jar.JarFile.getInputStream(JarFile.java:381)
at libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
at java.net.URL.openStream(URL.java:470)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444)
at java.lang.Class.getResourceAsStream(Class.java:1412)
at com.dropbox.core.DbxSdkVersion.loadLineFromResource(DbxSdkVersion.java:34)
at com.dropbox.core.DbxSdkVersion.loadVersion(DbxSdkVersion.java:56)
at com.dropbox.core.DbxSdkVersion.(DbxSdkVersion.java)
at com.dropbox.core.DbxRequestUtil.buildUserAgentHeader(DbxRequestUtil.java:151)
at com.dropbox.core.DbxRequestUtil.addUserAgentHeader(DbxRequestUtil.java:136)
at com.dropbox.core.DbxRequestUtil.startPostRaw(DbxRequestUtil.java:233)
at com.dropbox.core.v2.DbxRawClientV2$1.execute(DbxRawClientV2.java:107)
at com.dropbox.core.v2.DbxRawClientV2.executeRetriable(DbxRawClientV2.java:284)
at com.dropbox.core.v2.DbxRawClientV2.rpcStyle(DbxRawClientV2.java:102)
at com.dropbox.core.v2.users.DbxUserUsersRequests.getCurrentAccount(DbxUserUsersRequests.java:120)
at mypackage.UserDropbox.(UserDropbox.java)
This isn't a direct solution.
You can integrate fabric clashlytics into your app to get a full report on the cause of the exception and information on the type and OS of devices experiencing the Exception.

Resources$NotFoundException report from wild

I just released an update and got an exception report from the wild after someone updated a previously working application.
The same code works on my phone, the resource is a raw file and not dependent on device, local dependent or anything.
I had a similar thing happen before while developing the update, I cleaned the project and it resolved it.
However this doesn't seem to be a good solution as I cannot verify the fix, don't want to just shove a version out in case it fixes the issue.
Any advice as to cause or resolution would be massively appreciated!
Stack Trace below:
java.lang.RuntimeException: Unable to create service com.beltane.apppro.TickerService:
android.content.res.Resources$NotFoundException: Resource ID #0x7f040005 at
android.app.ActivityThread.handleCreateService(ActivityThread.java:2969) at
android.app.ActivityThread.access$3300(ActivityThread.java:125) at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087) at
android.os.Handler.dispatchMessage(Handler.java:99) at
android.os.Looper.loop(Looper.java:123) at
android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method) at
java.lang.reflect.Method.invoke(Method.java:521) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) at
dalvik.system.NativeStart.main(Native Method) Caused by:
android.content.res.Resources$NotFoundException: Resource ID #0x7f040005 at
android.content.res.Resources.getValue(Resources.java:892) at
android.content.res.Resources.openRawResourceFd(Resources.java:854) at
android.media.MediaPlayer.create(MediaPlayer.java:647) at
com.beltane.apppro.TickerService.onCreate(TickerService.java:42) at
android.app.ActivityThread.handleCreateService(ActivityThread.java:2959) ... 10 more
For anyone facing a similar problem my resolution as horrible as it is:
Prepare a new release deleting all intermediate generated files, doing a clean build and re-releasing.
I trapped all media player creation code in try catch blocks for resource not found exceptions and pop up a toast explaining to the user what has occurred and to contact for a resolution.
This is pretty nasty but given that this should never occur...
I haven't heard either way from the user that returned the crash report, I have had other good feedback since, I'll update if I hear further either way.

Categories

Resources