android / codelab-android-workmanager

Apache License 2.0
544 stars 240 forks source link

androidx.work.impl.WorkDatabase in onOpen java.lang.IllegalStateException #50

Closed bhsat closed 6 years ago

bhsat commented 6 years ago

Stack Trace

java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/com.yahoo.mobile.client.android.mail/databases/androidx.work.workdb at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55) at android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase.java:522) at android.arch.persistence.db.framework.FrameworkSQLiteDatabase.endTransaction(FrameworkSQLiteDatabase.java:90) at androidx.work.impl.WorkDatabase$1.onOpen(WorkDatabase.java:122) at androidx.work.impl.WorkDatabase_Impl$1.onOpen(WorkDatabase_Impl.java:89) at android.arch.persistence.room.RoomOpenHelper.onOpen(RoomOpenHelper.java:116) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.java:151) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:266) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:96) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:54) at android.arch.persistence.room.RoomDatabase.beginTransaction(RoomDatabase.java:252) at androidx.work.impl.utils.EnqueueRunnable.addToDatabase(EnqueueRunnable.java:93) at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:79) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761)

bhsat commented 6 years ago

Stack Trace

android.database.sqlite.SQLiteException: not an error (code 0) ################################################################# Error Code : 0 (SQLITE_OK) Caused By : not an error (code 0) ################################################################# at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method) 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:2071) at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:2000) at android.arch.persistence.db.framework.FrameworkSQLiteDatabase.execSQL(FrameworkSQLiteDatabase.java:242) at androidx.work.impl.WorkDatabase$1.onOpen(WorkDatabase.java:114) at androidx.work.impl.WorkDatabase_Impl$1.onOpen(WorkDatabase_Impl.java:89) at android.arch.persistence.room.RoomOpenHelper.onOpen(RoomOpenHelper.java:116) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.java:151) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:266) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:96) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:54) at android.arch.persistence.room.RoomDatabase.beginTransaction(RoomDatabase.java:252) at androidx.work.impl.utils.EnqueueRunnable.addToDatabase(EnqueueRunnable.java:93) at androidx.work.impl.utils.EnqueueRunnable.run(EnqueueRunnable.java:79) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:762)

bhsat commented 6 years ago

androidx.work.impl.WorkerWrapper in run - java.lang.IllegalStateException

java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/com.yahoo.mobile.client.android.mail/databases/androidx.work.workdb at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55) at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1760) at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1706) at android.arch.persistence.db.framework.FrameworkSQLiteDatabase.execSQL(FrameworkSQLiteDatabase.java:242) at android.arch.persistence.room.RoomOpenHelper.createMasterTableIfNotExists(RoomOpenHelper.java:147) .updateIdentity(RoomOpenHelper.java:142) at android.arch.persistence.room.RoomOpenHelper.onCreate(RoomOpenHelper.java:72) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onCreate(FrameworkSQLiteOpenHelper.java:127) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:96) at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:54) at android.arch.persistence.room.RoomDatabase.endTransaction(RoomDatabase.java:261) at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:188) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

bhsat commented 6 years ago

Seeing this crash at several places

pfmaggi commented 6 years ago

Thanks for reporting this. I'm closing this issue because I cannot reproduce it in this codelab.

If you think that this is a problem of the WorkManager library, please open a bug on the WorkManager public issue tracker: https://issuetracker.google.com/issues/new?component=409906&template=1094197

Please reopen if you still think this is an issue with the codelab.

WenbinChenTV commented 3 years ago

Has anyone else ran into this problem? what are the reproduce steps? @bhsat