Fixed
Status Update
Comments
da...@google.com <da...@google.com> #2
Also noticed that crash happens ~7-8 times per user.
ap...@google.com <ap...@google.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
el...@google.com <el...@google.com>
na...@google.com <na...@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.
Description
Component used:
androidx.room:room-compiler
Version used:
2.5.0-alpha02
,2.5.0-alpha03
Devices/Android versions reproduced on:
Samsung Galaxy S21 / Android 12
I've updated the Room version from
2.4.3
to2.5.0-alpha03
and after the last migration, the JSON generated will once in a while fail withAfter checking out the differences between the last schema file 73.json and the new one, 74.json, apart from the changes I've wanted to make, there's this block:
inside the only ftsVersion block I have. Whatever I write in the migration script doesn't matter, I always get the same issue. If I delete the .json, an identical one regenerates, which works fine the first time but then crashes the second time. What I've found is that if I delete the
SHADOW_TABLE_NAME_SUFFIXES
andshadowTableNames$delegate
blocks from 74.json, I don't get the issue anymore.I've attached a demo app in which I've reproduced the issue, however, I must mention that initially, it worked fine up to the 3rd database version. How I've managed to reproduce the issue on the demo app is as follows: