I have an Android app that does work in the database every five minutes (at
least). Every few days I am seeing:
org.sqlite.database.sqlite.SQLiteDiskIOException: disk I/O error (code 1034)
Code 1034 is SQLITE_IOERR_FSYNC.
This is using a custom build of the Sqlite bindings but I should note that this
also occurred under the vanilla build as well as in SqlCipher.
This leads me to believe it's a problem with the underlying code (or my use of
it).
The app has multiple threads. It's always a background thread that throws this
error.
I believe that the specific Sqlite3 api being called in sqlite3_step, but can
not be sure. The android stack trace is:
Caused by: org.sqlite.database.sqlite.SQLiteDiskIOException: disk I/O error
(code 1034)
at
org.sqlite.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native
Method)
at
org.sqlite.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:776)
at
org.sqlite.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:759)
at
org.sqlite.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:68)
at net.philipwarner.platforms.android
<http://net.philipwarner.platforms.android>.sqlitenative.NativeStatement.execute(NativeStatement.java:74)
Any comments or thoughts on what this might mean? Fsync in multiple threads?
Fysnc while doing IO elsewhere?
The app continues to work after the crash caused by this error; but it does kill
the entire app.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users