Fixed
Status Update
Comments
da...@google.com <da...@google.com> #2
Also noticed that crash happens ~7-8 times per user.
to...@gmail.com <to...@gmail.com> #3
It looks like Room 2.1.0 is not using androidx.sqlite:sqlite-framework:2.0.1 which should contain a fix for the situation you are just describing. The snippet of code you pasted for getWrappedDb() is different than what is in the head of the repo. See: https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/persistence/db-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteOpenHelper.java#152
ap...@google.com <ap...@google.com> #4
This is a proper fix IMO. However, I can't find the package in http://maven.google.com/androidx/ . There I found only 2.0.0. Where else should I look? Also, the latest room 2.1.0-alpha4 does not include this version as well.
da...@google.com <da...@google.com> #5
It seems sqlite-framework:2.0.1 never made it to maven.google.com , we'll release it soon along with Room 2.1.0-alpha05 which should correctly depend on it. Sorry for the inconvenience.
Description
Android 7.1
Room 2.1.0 works well, but failed on 2.2.0-alpha01
This happened on an update sql with 3 param's placeholder but 2 of them are the same, maybe this info is helpful.
```
java.lang.IllegalArgumentException: Cannot bind argument at index 3 because the index is out of range. The statement has 2 parameters.
at android.database.sqlite.SQLiteProgram.bind(SQLiteProgram.java:212)
at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:166)
at androidx.sqlite.db.framework.FrameworkSQLiteProgram.bindString(FrameworkSQLiteProgram.java:50)
at one.mixin.android.db.MessageDao_Impl.takeUnseen(XXXDao_Impl.java:1186)
at one.mixin.android.db.DaoExtensionKt$batchMarkReadAndTake$1.invoke(DaoExtension.kt:104)
at one.mixin.android.db.DaoExtensionKt$batchMarkReadAndTake$1.invoke(DaoExtension.kt)
at one.mixin.android.db.XXXDatabaseKt$sam$java_lang_Runnable$0.run(XXXDatabase.kt)
at androidx.room.RoomDatabase.runInTransaction(RoomDatabase.java:391)
```