Status Update
Comments
jo...@google.com <jo...@google.com> #2
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
ha...@gmail.com <ha...@gmail.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
jo...@google.com <jo...@google.com> #4
-
Second crash in the description is from a real device. Experienced it myself on two different Xiaomi phones, plus lots of crashes from users in the Google Play console.
-
Dynamic features are not used in the application.
As a wild guess, I have downgraded build tools from 31.0.0 to 30.0.3, compileSdk from 31 to 30, and moved all work with Language ID to the service in a separate process (just to be sure that crash can kill secondary process instead of main). This combination is in beta for 2 days by now and I don't see any SIGSEGV crashes.
ap...@google.com <ap...@google.com> #5
Hmm, I feel the crash might be something related to separate/secondary process.
I also changed compileSdk and targetSDK to 31 but still cannot repro this issue.
pr...@google.com <pr...@google.com> #6
On the contrary, there was no separate process before, when crashes started.
In the new build (with the aforementioned changes) I can see SIGSEGV crash, but only one instead of dozens and it has a bit different backtrace:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
liblanguage_id_jni.so (offset 0x11e000)
backtrace:
#00 pc 000000000003c7c0 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 000000000003b960 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 000000000003bb48 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 000000000003bafc /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 0000000000036c98 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 0000000000032714 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 0000000000031cac /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/split_config.arm64_v8a.apk!lib/arm64-v8a/liblanguage_id_jni.so (offset 0x11e000)
#00 pc 0000000000057438 /data/app/azagroup.reedy-mF7zTu2bv_ELlbFArwNgqA==/oat/arm64/base.odex (offset 0x57000)
ju...@google.com <ju...@google.com> #7
FYI, ML Kit launched a new language ID SDK in the latest release, which uses a new language ID model.
Could you try the new SDK version(17.0.0) to check if you can still repro this native crash? Thanks!
na...@google.com <na...@google.com> #8
Thank you, I'll try it and check.
Description
Jetpack Compose version: bom:2023.03.00
Jetpack Compose component used: BottomSheetScaffold
Android Studio Build: #AI-222.4459.24.2221.9682058 (Android Studio Flamingo | 2022.2.1 Beta 5)
Kotlin version: 1.8.10
Steps to Reproduce or Code Sample to Reproduce:
Stack trace (if applicable): Screen recordings have been attached that shows the issue. Pay close attention to the
progress
value in screenshot which is the reported progress. The progress reported is not smooth for initial swipe of bottomsheet.After updating compose-bom from 2023.01.00 (which uses 1.3.3 of compose-material) to 2023.03.00 (which uses 1.4.0 of compose-material) I started seeing issues with the bottom sheet progress callback.
My usecase: I need to calculate open-fraction of bottomsheet (i.e. when it's totally collapsed to it's peek height then open fraction is 0.0f and when it's fully expanded, open-fraction should be 1.0f).
Now based on this I need to derive few things like corner size, alpha and offsets of a few other elements. In short, if open-fraction is not reliable then UI will look shaky.
With 1.4.0 of compose-material, Bottomsheet started using
SwipeableV2State
which required quite some change for my usecase to work. Even then, the reported progress is not what I expected. After I start swipping up, the progress remains 0.0f until a certain point (I believe the point isSwipeableV2State.positionalThreshold
but not sure). After that point, reported progress goes directly from0.0
to0.075
and skips progress in between.Same thing happens when I start to collapse sheet from expanded state.