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
Related
While using Futronic finger print, it throws an error "BrainSketchScan keeps stopping" and exits the program on Android Pixel 4a phone. I tried using clear cache and storage etc., but it does not resolve the issue.
On the console it throws the following error
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.futronictechs, PID: 18154
java.lang.UnsatisfiedLinkError: dlopen failed: library "libusb-1.0.so" not found
Can someone please help, as I am not able to use the Futronic fingerprint scanner on Android 10+ version phones
I tried using clear cache and storage etc., but it does not resolve the issue.
On the console it throws the following error
Tried ensuring that the libs are available in the respective folder
Below is the details of the exception that is according to different Android devices and unable to find any soliton for it.
I get these details from Firebase Crashlytics as I am unable to reproduce it and is the most frequently according to crash in my Firebase Crashlytics list
Fatal Exception: android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 778)
Error Code : 778 (SQLITE_IOERR_WRITE)
Caused By : Disk I/O error occurred during 'write' operation.
(disk I/O error (code 778))
#
at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(SQLiteConnection.java)
at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:816)
at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:2067)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1996)
at co.uk.rushorm.android.AndroidRushStatementRunner.runRaw(AndroidRushStatementRunner.java:37)
at co.uk.rushorm.core.RushCore$12.statementCreated(RushCore.java:473)
at co.uk.rushorm.core.implementation.ReflectionTableStatementGenerator.generateStatements(ReflectionTableStatementGenerator.java:46)
at co.uk.rushorm.core.RushCore.createTables(RushCore.java:469)
at co.uk.rushorm.core.RushCore.access$200(RushCore.java:39)
at co.uk.rushorm.core.RushCore$13.createClasses(RushCore.java:495)
at co.uk.rushorm.core.implementation.ReflectionUpgradeManager.upgrade(ReflectionUpgradeManager.java:119)
at co.uk.rushorm.core.RushCore.upgrade(RushCore.java:480)
at co.uk.rushorm.core.RushCore.access$300(RushCore.java:39)
at co.uk.rushorm.core.RushCore$1.run(RushCore.java:132)
at java.lang.Thread.run(Thread.java:762)
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.
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 :(
I'm running my instrumented tests on Firebase Test Lab and want non-fatal exceptions to be reported to Crashlytics.
However, calling Crashlytics.logException() doesn't send the report immediately. After enabling core.debuggable(true) I see this when sending report:
D/CrashlyticsCore: Crashlytics is logging non-fatal exception "java.lang.Throwable: java.lang.Throwable" from thread main
But the report is not visible on Crashlytics dashboard until I restart the app, and then I see:
D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: Found crash report /data/user/0/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/nonfatal-sessions/....cls
D/CrashlyticsCore: Attempting to send 1 report(s)
D/CrashlyticsCore: Adding single file ....cls to report ...
D/CrashlyticsCore: Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/org.dasfoo.delern.instrumented/reports
D/CrashlyticsCore: Create report request ID: null
D/CrashlyticsCore: Result was: 202
I/CrashlyticsCore: Crashlytics report upload complete: ...
D/CrashlyticsCore: Removing report at /data/user/0/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/nonfatal-sessions/....cls
D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: No reports found.
This is not ideal for production use cases, but it will at least work when user restarts the app. In tests, this never works because Firebase Test Lab does not restart the app (restarting the app means tests will fail).
Is there any workaround to allow Crashlytics to send non-fatal reports from the instrumented tests?
Used packages:
com.crashlytics.sdk.android:crashlytics:2.6.8#aar
io.fabric.tools:gradle:1.24.0
UPD: rephrased the question and title. I am looking for an option to alter Crashlytics default behavior, since it seems like a reasonable feature to have.
There isn't a way to report non-fatal events in the current session. The app needs to be restarted for non-fatal events to get reported to Crashlytics.
import com.google.firebase.crash.FirebaseCrash;
FirebaseCrash.report(new Exception("Error in CreateMobileAlertNative "+e.getStackTrace()));
I used to get non-fatal exception on crashlytics by using this FirebaseCrash class, I put some codes on my catch,via which i used to get those reports, try this once.