Fixed
Status Update
Comments
do...@traveloka.com <do...@traveloka.com> #2
Some additional observations:
- It seems it has only a chance to happen on the first start after fresh install
- According to Crashlytics the number of crashes = number of affected users. Which could mean it only happens once on the first run and never again.
- Also we do have backups disabled
Can there be a race? Given the code of the Okio ReadScope
seems the file doesn't exist when it's tried to be opened, but exists shortly after that
return try {
fileSystem.read(
file = path
) {
serializer.readFrom(this)
}
} catch (ex: FileNotFoundException) {
if (fileSystem.exists(path)) {
throw ex
}
serializer.defaultValue
}
pa...@gmail.com <pa...@gmail.com> #3
Any update on the issue?
pa...@gmail.com <pa...@gmail.com> #4
We have the same issue. Did you try to update to 1.1.1?
ap...@google.com <ap...@google.com> #7
exact same issue, we went from 1.0.0 to 1.1.1 and are encountering this!
pa...@google.com <pa...@google.com> #8
Did some testing: for 200 fresh app installs there is 10-15 crashes on startup on Android 14.
pa...@gmail.com <pa...@gmail.com> #9
Same problem here. Happens on app startup as well. But we do have a higher numer of crashes compared to users impacted. So maybe some users tried to launch the app again and it happened.
We had the problem with 1.0.0, updating the lib to 1.1.0 didn't change anything.
We had the problem with 1.0.0, updating the lib to 1.1.0 didn't change anything.
hu...@google.com <hu...@google.com> #10
Downgrading from 1.1.1 to 1.0.0 has seemingly resolved the issue for us.
Description
Java version "1.8.0_121"
Jetifier version: 1.0.0-beta04
Let there be a Library Foo with the following 'proguard-rules.txt' file:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
# Note: the configuration keeps the entry point 'com.raizlabs.android.dbflow.config.FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com.raizlabs.android.dbflow.config.FlowManager$1); }', but not the descriptor class 'com.raizlabs.android.dbflow.config.FlowManager$1'
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
When trying to jetify this library:
./jetifier-standalone -i /Users/someuser/Downloads/foo/foo.aar -o newfoo.aar
The Jetifier fails with the following output:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 147
com/raizlabs/android/dbflow/.*
# Note: the configuration keeps the entry point 'com/raizlabs/android/dbflow/config/FlowManager$GlobalDatabaseHolder { FlowManager$GlobalDatabaseHolder(com/raizlabs/android/dbflow/config/FlowManager$1); }'
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.closure(Pattern.java:3157)
at java.util.regex.Pattern.sequence(Pattern.java:2134)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at com.android.tools.build.jetifier.core.type.TypesMap.matchOldProguardForNewTypes(TypesMap.kt:112)
[...]
If i remove the notes, the new 'proguard-rules.txt' looks like this:
# DBFlow
-keep class * extends com.raizlabs.android.dbflow.config.DatabaseHolder { *; }
-dontwarn com.raizlabs.android.dbflow.**
-keep class com.raizlabs.android.dbflow.config.FlowManager$*
And this runs through the jetifier just fine. Please provide a fix for this issue, since i have to patch my dependencies currently in order to make AndroidX work for me.