Process: com.example.yhw, PID: 7359
java.lang.IllegalStateException: The database '/data/user/0/com.example.yhw/databases/memo_database' is not open.
at android.database.sqlite.SQLiteDatabase.throwIfNotOpenLocked(SQLiteDatabase.java:2954)
at android.database.sqlite.SQLiteDatabase.createSession(SQLiteDatabase.java:564)
at android.database.sqlite.-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q.get(Unknown Source:2)
at java.lang.ThreadLocal$SuppliedThreadLocal.initialValue(ThreadLocal.java:284)
at java.lang.ThreadLocal.setInitialValue(ThreadLocal.java:180)
at java.lang.ThreadLocal.get(ThreadLocal.java:170)
at android.database.sqlite.SQLiteDatabase.getThreadSession(SQLiteDatabase.java:558)
at android.database.sqlite.SQLiteProgram.getSession(SQLiteProgram.java:123)
at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
at androidx.sqlite.db.framework.FrameworkSQLiteStatement.executeUpdateDelete(FrameworkSQLiteStatement.java:46)
at androidx.room.EntityDeletionOrUpdateAdapter.handle(EntityDeletionOrUpdateAdapter.java:70)
at com.example.yhw.MemoDao_Impl.update(MemoDao_Impl.java:162)
at com.example.yhw.PuzzleActivity$onCreate$2$1$1.run(PuzzleActivity.kt:129)
at java.lang.Thread.run(Thread.java:764)
2021-09-27 06:15:38.226 7359-7418/com.example.yhw E/ROOM: Cannot run invalidation tracker. Is the db closed?
android.database.sqlite.SQLiteException: no such table: room_table_modification_log (code 1 SQLITE_ERROR[1]): , while compiling: SELECT * FROM room_table_modification_log WHERE invalidated = 1;
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1229)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:703)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1865)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1840)
at androidx.sqlite.db.framework.FrameworkSQLiteDatabase.query(FrameworkSQLiteDatabase.java:161)
at androidx.room.RoomDatabase.query(RoomDatabase.java:328)
at androidx.room.RoomDatabase.query(RoomDatabase.java:311)
at androidx.room.InvalidationTracker$1.checkUpdatedTable(InvalidationTracker.java:414)
at androidx.room.InvalidationTracker$1.run(InvalidationTracker.java:388)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2021-09-27 06:15:38.254 7359-7359/com.example.yhw E/ViewRootImpl: sendUserActionEvent() returned.
잘 작동되던 데이터베이스가 갑자기 열려있지 않다고 하네요.
특정 프래그먼트가 화면에 출력되도록 하기만 하면, 이런 오류가 나네요.
앱을 가장 처음에 설치할 때에는 잘되다가, 이 특정 프래그먼트만 화면에 출력시키고 나면,
그때부터는 db에 정보를 추가 하거나 업데이트 하거나 삭제 할 때마다 이런 오류 메시지를 띄워주네요.
예전에는 분명히 아무 문제없이 잘 작동 됐거든요. 근데 몇 달만에
다시 설치해보니까 안되더라구요.
무슨 버전 업을 한것도 아니고, db쪽은 모든게 그대로인데 이러네요.