SQLiteDatabaseLockedException: database is locked
This happens sometime when I run a debug build and install it on the phone, then open it up and update the repos.
The easiest way I've found to trigger it is a fresh install via gradle assembleDebug installDebug. Why would a fresh install cause this is beyond me, though.
On master, which is currently 0.91.
E/AndroidRuntime( 6833): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime( 6833): Process: org.fdroid.fdroid, PID: 6833
E/AndroidRuntime( 6833): java.lang.RuntimeException: An error occured while executing doInBackground()
E/AndroidRuntime( 6833): at android.os.AsyncTask$3.done(AsyncTask.java:304)
E/AndroidRuntime( 6833): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
E/AndroidRuntime( 6833): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
E/AndroidRuntime( 6833): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
E/AndroidRuntime( 6833): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
E/AndroidRuntime( 6833): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime( 6833): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime( 6833): at java.lang.Thread.run(Thread.java:818)
E/AndroidRuntime( 6833): Caused by: android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteConnection.nativeExecute(Native Method)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteConnection.execute(SQLiteConnection.java:557)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteSession.beginTransactionUnchecked(SQLiteSession.java:323)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteSession.beginTransaction(SQLiteSession.java:298)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteDatabase.beginTransaction(SQLiteDatabase.java:505)
E/AndroidRuntime( 6833): at android.database.sqlite.SQLiteDatabase.beginTransaction(SQLiteDatabase.java:416)
E/AndroidRuntime( 6833): at org.fdroid.fdroid.data.FDroidProvider.applyBatch(FDroidProvider.java:58)
E/AndroidRuntime( 6833): at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:297)
E/AndroidRuntime( 6833): at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:377)
E/AndroidRuntime( 6833): at android.content.ContentResolver.applyBatch(ContentResolver.java:1244)
E/AndroidRuntime( 6833): at org.fdroid.fdroid.data.InstalledAppCacheUpdater.updateCache(InstalledAppCacheUpdater.java:98)
E/AndroidRuntime( 6833): at org.fdroid.fdroid.data.InstalledAppCacheUpdater.update(InstalledAppCacheUpdater.java:64)
E/AndroidRuntime( 6833): at org.fdroid.fdroid.data.InstalledAppCacheUpdater$PostponedWorker.doInBackground(InstalledAppCacheUpdater.java:169)
E/AndroidRuntime( 6833): at org.fdroid.fdroid.data.InstalledAppCacheUpdater$PostponedWorker.doInBackground(InstalledAppCacheUpdater.java:162)
E/AndroidRuntime( 6833): at android.os.AsyncTask$2.call(AsyncTask.java:292)
E/AndroidRuntime( 6833): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
E/AndroidRuntime( 6833): ... 4 more