1

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)
Asadullah Mumtaz
  • 171
  • 1
  • 14
  • 1
    Does your app have write permissions? Can you try disabling the write permissions of your app in android settings and see if you get the same error. Might be those users didn't give your app write permissions. – Muddassir Ahmed Sep 01 '20 at 01:14
  • Yes write permissions are added in the manifest, this issue occurred only on production when you download the app from the store on few devices ( even I have never replicated it on any that we have in-house). The users that are getting this issue are when the just install the app and the app crashed on the splash screen. – Asadullah Mumtaz Sep 01 '20 at 08:14
  • Have you enabled auto-vacuum mode? – Gaurav Saluja Sep 01 '20 at 10:37
  • Why does your app try to write to disk on first time launch? Shouldn't it ask for permissions the first time? – Muddassir Ahmed Sep 01 '20 at 12:53
  • I just want you to isolate the issue by denying permissions and running some code that writes to disk. If you get the same error then the issue is with write permissions. – Muddassir Ahmed Sep 01 '20 at 12:54
  • If the error is different then I don't know what's wrong, maybe someone else would be able to give a better answer. – Muddassir Ahmed Sep 01 '20 at 12:58
  • @MuddassirAhmed thanks for the guidance ill surely try this thing but as I said earlier I just know this information through crashlytics nothing else. – Asadullah Mumtaz Sep 01 '20 at 16:57
  • @GauravSaluja can you please explain a bit more about auto-vacuum mode? – Asadullah Mumtaz Sep 01 '20 at 16:58
  • @AsadullahMumtaz: About vacuum mode (https://www.sqlite.org/pragma.html#pragma_auto_vacuum). There was an open bug that was fixed (https://android.googlesource.com/platform/external/sqlite.git/+/6ab557bdc070f11db30ede0696888efd19800475%5E!/) but the idea is to keep track of IO or disk full issues. Also, keep track of file descriptor open limit and ensure there is no leak. This limit can be reached by the extensive usage of open files, sockets or cursors. If there is a leak for these resources, this error can occur after some time. Samsung phones had reported these issues in the past. – Gaurav Saluja Sep 02 '20 at 08:53

0 Answers0