christian.steffensen
06/26/2024, 8:20 PMchristian.steffensen
06/26/2024, 8:21 PMCoroutine error: java.lang.IllegalStateException: Unable to lock file: 'db.lck'. (Ask Gemini)
java.lang.IllegalStateException: Unable to lock file: 'db.lck'.
at androidx.room.concurrent.FileLock.lock(FileLock.jvmAndroid.kt:49)
at androidx.room.concurrent.ExclusiveLock.withLock(ExclusiveLock.kt:46)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.open(RoomConnectionManager.kt:65)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.Pool.tryOpenNewConnection(ConnectionPoolImpl.kt:223)
at androidx.room.coroutines.Pool.acquire(ConnectionPoolImpl.kt:211)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invokeSuspend(ConnectionPoolImpl.kt:174)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:8)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:72)
at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148)
at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:43)
at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:534)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:116)
at androidx.room.RoomDatabase.useConnection$room_runtime_release(RoomDatabase.android.kt:623)
at androidx.room.util.DBUtil__DBUtil_androidKt$performSuspending$$inlined$compatCoroutineExecute$DBUtil__DBUtil_androidKt$1.invokeSuspend(DBUtil.android.kt:256)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.io.FileNotFoundException: db.lck: open failed: EROFS (Read-only file system)
at libcore.io.IoBridge.open(IoBridge.java:574)
at java.io.FileOutputStream.<init>(FileOutputStream.java:236)
at java.io.FileOutputStream.<init>(FileOutputStream.java:186)
at androidx.room.concurrent.FileLock.lock(FileLock.jvmAndroid.kt:44)
at androidx.room.concurrent.ExclusiveLock.withLock(ExclusiveLock.kt:46)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.open(RoomConnectionManager.kt:65)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.Pool.tryOpenNewConnection(ConnectionPoolImpl.kt:223)
at androidx.room.coroutines.Pool.acquire(ConnectionPoolImpl.kt:211)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invokeSuspend(ConnectionPoolImpl.kt:174)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:8)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:72)
at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148)
at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:43)
at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:534)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:116)
at androidx.room.RoomDatabase.useConnection$room_runtime_release(RoomDatabase.android.kt:623)
at androidx.room.util.DBUtil__DBUtil_androidKt$performSuspending$$inlined$compatCoroutineExecute$DBUtil__DBUtil_androidKt$1.invokeSuspend(DBUtil.android.kt:256)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: android.system.ErrnoException: open failed: EROFS (Read-only file system)
at libcore.io.Linux.open(Native Method)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:274)
at libcore.io.ForwardingOs.open(ForwardingOs.java:563)
at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8478)
at libcore.io.IoBridge.open(IoBridge.java:560)
at java.io.FileOutputStream.<init>(FileOutputStream.java:236)
at java.io.FileOutputStream.<init>(FileOutputStream.java:186)
at androidx.room.concurrent.FileLock.lock(FileLock.jvmAndroid.kt:44)
at androidx.room.concurrent.ExclusiveLock.withLock(ExclusiveLock.kt:46)
at androidx.room.BaseRoomConnectionManager$DriverWrapper.open(RoomConnectionManager.kt:65)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.ConnectionPoolImpl$5.invoke(ConnectionPoolImpl.kt:98)
at androidx.room.coroutines.Pool.tryOpenNewConnection(ConnectionPoolImpl.kt:223)
at androidx.room.coroutines.Pool.acquire(ConnectionPoolImpl.kt:211)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invokeSuspend(ConnectionPoolImpl.kt:174)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:8)
at androidx.room.coroutines.ConnectionPoolImpl$acquireWithTimeout$2.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturnIgnoreTimeout(Undispatched.kt:72)
at kotlinx.coroutines.TimeoutKt.setupTimeout(Timeout.kt:148)
at kotlinx.coroutines.TimeoutKt.withTimeout(Timeout.kt:43)
at kotlinx.coroutines.TimeoutKt.withTimeout-KLykuaI(Timeout.kt:71)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:534)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:116)
at androidx.room.RoomDatabase.useConnection$room_runtime_release(RoomDatabase.android.kt:623)
at androidx.room.util.DBUtil__DBUtil_androidKt$performSuspending$$inlined$compatCoroutineExecute$DBUtil__DBUtil_androidKt$1.invokeSuspend(DBUtil.android.kt:256)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
christian.steffensen
06/26/2024, 8:27 PMval path = context.getDatabasePath("db.db").absolutePath
Room.databaseBuilder(context, Database::class.java, path)
Usually just do
Room.databaseBuilder(context, Database::class.java, "db")
Pablichjenkov
06/26/2024, 8:37 PMchristian.steffensen
06/26/2024, 8:48 PM