Status Update
Comments
pa...@gmail.com <pa...@gmail.com> #2
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
da...@google.com <da...@google.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
da...@google.com <da...@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.
al...@gmail.com <al...@gmail.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.
da...@google.com <da...@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)
al...@gmail.com <al...@gmail.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!
el...@google.com <el...@google.com>
da...@google.com <da...@google.com> #8
Thank you, I'll try it and check.
al...@gmail.com <al...@gmail.com> #9
Hello. I have similar experience.
- I'm using mlkit-language 16.1.1
- I didnot meet this error until using AGP 4.2
- I can get this error since using AGP 7.0
- This error raised on Release build only(minimized by R8)
- This error raised without obfuscation.
al...@gmail.com <al...@gmail.com> #11
I created reproducible project.
$ git clone https://github.com/ganadist/VersionCodeDemo -b mlkit_agp7 mlkit_agp7
$ cd mlkit_agp7
$ ./gradlew :app:pPRUA
$ adb install app/build/outputs/universal_apk/productionRelease/app-production-release-universal.apk
$ adb shell am start -n com.example.myapplication/.MainActivity
$ adb logcat -b crash -d
10-19 19:41:49.844 17810 17810 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7acf9d733c in tid 17810 (e.myapplication), pid 17810 (e.myapplication)
10-19 19:41:50.473 17849 17849 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-19 19:41:50.473 17849 17849 F DEBUG : Build fingerprint: 'google/crosshatch/crosshatch:12/SPB5.210812.002/7671067:user/release-keys'
10-19 19:41:50.473 17849 17849 F DEBUG : Revision: 'MP1.0'
10-19 19:41:50.473 17849 17849 F DEBUG : ABI: 'arm64'
10-19 19:41:50.473 17849 17849 F DEBUG : Timestamp: 2021-10-19 19:41:49.903736988+0900
10-19 19:41:50.473 17849 17849 F DEBUG : Process uptime: 0s
10-19 19:41:50.473 17849 17849 F DEBUG : Cmdline: com.example.myapplication
10-19 19:41:50.474 17849 17849 F DEBUG : pid: 17810, tid: 17810, name: e.myapplication >>> com.example.myapplication <<<
10-19 19:41:50.474 17849 17849 F DEBUG : uid: 10240
10-19 19:41:50.474 17849 17849 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7acf9d733c
10-19 19:41:50.474 17849 17849 F DEBUG : x0 0000000000000000 x1 00000000000008fc x2 0000007a76760c71 x3 0000000000000000
10-19 19:41:50.474 17849 17849 F DEBUG : x4 0000000000000010 x5 0000007ba4db49d0 x6 0000007b34dc3680 x7 3de38e3900000608
10-19 19:41:50.474 17849 17849 F DEBUG : x8 0000007bb4dbedf0 x9 0000007acf9db2aa x10 0000000000000000 x11 0000007acf9d6640
10-19 19:41:50.474 17849 17849 F DEBUG : x12 0000000000000009 x13 0000000000000000 x14 0000000000000061 x15 00000000ebad6a89
10-19 19:41:50.474 17849 17849 F DEBUG : x16 0000007a767cfef8 x17 0000007d9a564b40 x18 0000007da3830000 x19 0000007feaf56a08
10-19 19:41:50.474 17849 17849 F DEBUG : x20 0000000000000000 x21 0000007ba4da50b0 x22 0000007bb4dbedf0 x23 0000007ba4da50b8
10-19 19:41:50.474 17849 17849 F DEBUG : x24 0000000000000009 x25 000000000000067e x26 0000000000000012 x27 0000000000000008
10-19 19:41:50.474 17849 17849 F DEBUG : x28 0000007b64dc8440 x29 0000000000000000
10-19 19:41:50.474 17849 17849 F DEBUG : lr 0000007a7678a964 sp 0000007feaf56810 pc 0000007a7678b7c0 pst 0000000060000000
10-19 19:41:50.474 17849 17849 F DEBUG : backtrace:
10-19 19:41:50.474 17849 17849 F DEBUG : #00 pc 000000000003c7c0 /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #01 pc 000000000003b960 /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #02 pc 000000000003bb48 /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #03 pc 000000000003bafc /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #04 pc 0000000000036c98 /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #05 pc 00000000000324a4 /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
10-19 19:41:50.474 17849 17849 F DEBUG : #06 pc 0000000000031b5c /data/app/~~mHaMq-e9ocbm9UfYnkCGkQ==/com.example.myapplication-HgG9vkluwDDO1K78-Vzr0A==/lib/arm64/liblanguage_id_jni.so (Java_com_google_mlkit_nl_languageid_internal_LanguageIdentificationJni_nativeIdentifyLanguage+100) (BuildId: 859ec0ec2000a39e6ae8ed42e1704f46)
But after downgrade to AGP 4.2, crash is not reproducible.
$ git clone https://github.com/ganadist/VersionCodeDemo -b mlkit_agp42 mlkit_agp42
$ cd mlkit_agp42
$ ./gradlew :app:pPRUA
$ adb install app/build/outputs/universal_apk/productionRelease/app-production-release-universal.apk
$ adb shell am start -n com.example.myapplication/.MainActivity
Also, I tried to disable
$ git clone https://github.com/ganadist/VersionCodeDemo -b mlkit_agp7_r8_disable_inline_optimizer mlkit_agp7_r8
$ cd mlkit_agp7_r8
$ ./gradlew :app:pPRUA
$ adb install app/build/outputs/universal_apk/productionRelease/app-production-release-universal.apk
$ adb shell am start -n com.example.myapplication/.MainActivity
ap...@google.com <ap...@google.com> #12
I tried the repro steps but got a NPE when I run ./gradlew :app:pPRUA
FAILURE: Build failed with an exception.
* What went wrong:
java.lang.NullPointerException
> java.lang.NullPointerException (no error message)
Could you also check if this is reproducible on 17.0.0
or 17.0.1
? If yes, could you attach the full log that I can take a look? Thanks!
da...@google.com <da...@google.com>
wo...@ahrefs.com <wo...@ahrefs.com> #13
Here are gradle build scan logs for each branches.
All builds were clean build, and disabled build cache.
- mlkit_agp7 :
https://scans.gradle.com/s/qrymdqfzwokbq - mlkit_agp42 :
https://scans.gradle.com/s/b6644hzfyfhaw - mlkit_agp7_r8_disable_inline_optimizer :
https://scans.gradle.com/s/c6h5hy2nxod4u
Also, I pushed to update MLKit Language Id version 17.0.1 on
And here is crash log after apply 17.0.1
You can see that BuildId
of liblanguage_id_l2c_jni.so
was changed from 859ec0ec2000a39e6ae8ed42e1704f46
to be6e59455cc10135330c93acdebfc121
10-20 03:07:24.522 24587 24628 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7acf995426 in tid 24628 (pool-3-thread-3), pid 24587 (e.myapplication)
10-20 03:07:25.190 24710 24710 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-20 03:07:25.190 24710 24710 F DEBUG : Build fingerprint: 'google/crosshatch/crosshatch:12/SPB5.210812.002/7671067:user/release-keys'
10-20 03:07:25.190 24710 24710 F DEBUG : Revision: 'MP1.0'
10-20 03:07:25.190 24710 24710 F DEBUG : ABI: 'arm64'
10-20 03:07:25.190 24710 24710 F DEBUG : Timestamp: 2021-10-20 03:07:24.583346246+0900
10-20 03:07:25.190 24710 24710 F DEBUG : Process uptime: 0s
10-20 03:07:25.190 24710 24710 F DEBUG : Cmdline: com.example.myapplication
10-20 03:07:25.190 24710 24710 F DEBUG : pid: 24587, tid: 24628, name: pool-3-thread-3 >>> com.example.myapplication <<<
10-20 03:07:25.190 24710 24710 F DEBUG : uid: 10240
10-20 03:07:25.190 24710 24710 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7acf995426
10-20 03:07:25.190 24710 24710 F DEBUG : x0 0000007b54da9d30 x1 0000007d9a5fe7cc x2 0000000000000000 x3 0000000000000010
10-20 03:07:25.190 24710 24710 F DEBUG : x4 0000000000000000 x5 0000007c34dbc79c x6 0000002f0000083b x7 000003c300002dd5
10-20 03:07:25.190 24710 24710 F DEBUG : x8 0000000000000001 x9 0000000000000004 x10 0000000000000010 x11 0000000000000000
10-20 03:07:25.190 24710 24710 F DEBUG : x12 0000000000000000 x13 000000000000217e x14 0000007acf9932a8 x15 000000000000217e
10-20 03:07:25.190 24710 24710 F DEBUG : x16 0000000000000000 x17 0000007d9a564c78 x18 0000007a6ef18000 x19 0000007c34dbc580
10-20 03:07:25.190 24710 24710 F DEBUG : x20 0000007ca4dc7170 x21 0000007ca4dc7800 x22 0000007ca4dc71e0 x23 0000000000000000
10-20 03:07:25.190 24710 24710 F DEBUG : x24 0000000000000018 x25 0000000000000007 x26 0000000000000006 x27 0000000000000004
10-20 03:07:25.190 24710 24710 F DEBUG : x28 0000007ca4dc7090 x29 0000007cb4da9940
10-20 03:07:25.190 24710 24710 F DEBUG : lr 0000007a770a9624 sp 0000007a6f7de9c0 pc 0000007a770a96a8 pst 0000000020000000
10-20 03:07:25.190 24710 24710 F DEBUG : backtrace:
10-20 03:07:25.190 24710 24710 F DEBUG : #00 pc 00000000000386a8 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #01 pc 00000000000388a0 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #02 pc 00000000000844a0 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #03 pc 000000000008783c /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #04 pc 0000000000035fc4 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #05 pc 0000000000034954 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.190 24710 24710 F DEBUG : #06 pc 00000000000340e8 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/lib/arm64/liblanguage_id_l2c_jni.so (Java_com_google_mlkit_nl_languageid_internal_ThickLanguageIdentifier_nativeIdentifyPossibleLanguages+108) (BuildId: be6e59455cc10135330c93acdebfc121)
10-20 03:07:25.191 24710 24710 F DEBUG : #07 pc 00000000002d9a44 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #08 pc 000000000020a700 /apex/com.android.art/lib64/libart.so (nterp_helper+5648) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #09 pc 00000000000cd0dc /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #10 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #11 pc 00000000000ccfa8 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #12 pc 0000000000557cb4 /system/framework/arm64/boot-framework.oat (android.os.Binder.transact+148) (BuildId: 43a571a0ad85d6451b47016336a541ecb0eb12bb)
10-20 03:07:25.191 24710 24710 F DEBUG : #13 pc 000000000020b53c /apex/com.android.art/lib64/libart.so (nterp_helper+9292) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #14 pc 00000000000b7aba /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #15 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #16 pc 00000000000a7496 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #17 pc 000000000020a044 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #18 pc 00000000000a7360 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #19 pc 000000000020ae64 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #20 pc 000000000009e46c /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #21 pc 000000000020ae64 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #22 pc 00000000000d33d6 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #23 pc 000000000020ae64 /apex/com.android.art/lib64/libart.so (nterp_helper+7540) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #24 pc 000000000009df0a /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #25 pc 0000000000209124 /apex/com.android.art/lib64/libart.so (nterp_helper+52) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #26 pc 000000000009e350 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #27 pc 000000000037b9ac /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+988) (BuildId: ab2bf4ec264efdb6c452a238be38fe624de826b8)
10-20 03:07:25.191 24710 24710 F DEBUG : #28 pc 00000000003751d4 /apex/com.android.art/javalib/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+68) (BuildId: ab2bf4ec264efdb6c452a238be38fe624de826b8)
10-20 03:07:25.191 24710 24710 F DEBUG : #29 pc 000000000020aec4 /apex/com.android.art/lib64/libart.so (nterp_helper+7636) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #30 pc 000000000009e370 /data/app/~~KjjULZV48O7KSOgOP1wYNQ==/com.example.myapplication-vFUidUPTjaGg4oo3SRAYJw==/oat/arm64/base.vdex
10-20 03:07:25.191 24710 24710 F DEBUG : #31 pc 00000000001bf35c /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+76) (BuildId: ab2bf4ec264efdb6c452a238be38fe624de826b8)
10-20 03:07:25.191 24710 24710 F DEBUG : #32 pc 00000000002d0164 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #33 pc 000000000031ccac /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+156) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #34 pc 00000000003cf8a0 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+380) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #35 pc 0000000000460894 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+992) (BuildId: cdecb8dde1264c9871695c29854aa3b1)
10-20 03:07:25.191 24710 24710 F DEBUG : #36 pc 00000000000b1910 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: ba489d4985c0cf173209da67405662f9)
10-20 03:07:25.191 24710 24710 F DEBUG : #37 pc 00000000000513f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: ba489d4985c0cf173209da67405662f9)
da...@google.com <da...@google.com> #14
Cross-posted on R8 issue tracker.
yb...@gmail.com <yb...@gmail.com> #15
Hi,
Looks like we figured out the root cause in
For temporary workarounds for the existing SDKs, you need to add this rule
-keep class com.google.mlkit.nl.languageid.internal.LanguageIdentificationJni { *; }
for language-id 16.1.1
, and add this rule
-keep class com.google.mlkit.nl.languageid.internal.ThickLanguageIdentifier { *; }
for version language-id 17.0.0+
for the newer model.
We'll fix this issue in the upcoming release so that you'll not need these workarounds in the future release.
Thanks a lot for reporting this issue!
da...@google.com <da...@google.com> #16
Added workarounds in
pr...@google.com <pr...@google.com> #17
ro...@gmail.com <ro...@gmail.com> #18
Using:
Room 2.7.0-alpha06
SQLite 2.5.0-alpha06
1st -> Honor 9 Lite with Android 9
2nd -> Galaxy A13 with Android 14
Same stack trace for both
android.database.SQLException: Error code: 5, message: Timed out attempting to acquire a connection
androidx.sqlite.SQLite.throwSQLiteException(SQLite.java:49)
androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:139)
androidx.room.coroutines.ConnectionPoolImpl$useConnection$1.invokeSuspend(ConnectionPoolImpl.kt:13)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:100)
kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:113)
kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:96)
kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:589)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:816)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
cs...@supercharge.io <cs...@supercharge.io> #19
This is still happening for me on Android. Room: Room 2.7.0-alpha07 Sqlite driver: 2.5.0-alpha07
The issue only present with the bundled Sqlite driver, the framework driver works.
android.database.SQLException: Error code: 5, message: Timed out attempting to acquire a connection
at androidx.sqlite.SQLite.throwSQLiteException(SQLite.kt:49)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:139)
at androidx.room.coroutines.ConnectionPoolImpl$useConnection$1.invokeSuspend(Unknown Source:16)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
da...@google.com <da...@google.com> #20
I have created
ap...@google.com <ap...@google.com> #21
Branch: androidx-main
commit 6582a859c25cab0b1392a7443c3a44ad2c48b761
Author: Daniel Santiago Rivera <danysantiago@google.com>
Date: Wed Sep 25 11:03:42 2024
Add debug information to connection pool timeout exception
When a timeout occurs acquiring a connection include in the exception message the state of the connections, if acquired the coroutine context and a stacktrace of when it was acquired.
Example message:
```
Error code: 5, message: Timed out attempting to acquire a reader connection.
Writer pool:
androidx.room.coroutines.Pool@681a8b4e (capacity=1)
[1] - null
Reader pool:
androidx.room.coroutines.Pool@5cbe877d (capacity=2)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@5c08c46a
Status: Acquired connection
Coroutine: [RunningInRunTest, kotlinx.coroutines.test.TestCoroutineScheduler@4218500f, kotlinx.coroutines.test.TestScopeKt$TestScope$$inlined$CoroutineExceptionHandler$1@4bff64c2, DispatchedCoroutine{Active}@1b2c4efb, java.util.concurrent.ScheduledThreadPoolExecutor@289710d9[Running, pool size = 2, active threads = 0, queued tasks = 1, completed tasks = 2]]
Acquired:
at androidx.room.coroutines.ConnectionWithLock.markAcquired(ConnectionPoolImpl.kt:276)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:133)
at androidx.room.coroutines.BaseConnectionPoolTestKt.useReaderConnection(BaseConnectionPoolTest.kt:1211)
at androidx.room.coroutines.BaseConnectionPoolTest$timeoutCoroutineWaitingForConnection$1$1.invokeSuspend(BaseConnectionPoolTest.kt:606)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
[2] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@8a089df3
Status: Free connection
```
Bug: 347737870
Bug: 367991769
Test: Existing
Change-Id: I3895e8c45bc7ddc80e6475208f4ae22c35056b1c
M room/room-runtime/src/commonMain/kotlin/androidx/room/coroutines/ConnectionPoolImpl.kt
M room/room-runtime/src/commonTest/kotlin/androidx/room/coroutines/BaseConnectionPoolTest.kt
na...@google.com <na...@google.com> #22
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.room:room-runtime:2.7.0-alpha10
androidx.room:room-runtime-android:2.7.0-alpha10
androidx.room:room-runtime-macosx64:2.7.0-alpha10
hz...@gmail.com <hz...@gmail.com> #23
SQLiteException
Error code: 5, message: Timed out attempting to acquire a writer connection.
Writer pool:
androidx.room.coroutines.Pool@133f3dae (capacity=1)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@1df8d1b9
Status: Free connection
Reader pool:
androidx.room.coroutines.Pool@5ec55053 (capacity=4)
[1] - null
[2] - null
[3] - null
[4] - null
da...@google.com <da...@google.com> #24
Can you please share your full stacktrace?
hz...@gmail.com <hz...@gmail.com> #25
Error code: 5, message: Timed out attempting to acquire a writer connection.
Writer pool:
androidx.room.coroutines.Pool@2c856c3b (capacity=1)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@3bb0e3f2
Status: Acquired connection
Coroutine: [kotlinx.coroutines.UndispatchedMarker@2ab8cec6, UndispatchedCoroutine{Active}@2bb4c4f4, Dispatchers.IO]
Acquired:
at androidx.room.coroutines.ConnectionWithLock.markAcquired(ConnectionPoolImpl.kt:276)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:133)
at androidx.room.coroutines.ConnectionPoolImpl$useConnection$1.invokeSuspend(ConnectionPoolImpl.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:100)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
Reader pool:
androidx.room.coroutines.Pool@5f11464b (capacity=4)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@542809ed
Status: Free connection
[2] - null
[3] - null
[4] - null
da...@google.com <da...@google.com> #26
re kotlinx-coroutines-debug
.
Have you been able to reproduce the issue? Can you talk more about your use-case, are you doing many write operations concurrently? Any long computations within a connection scope? Or is most of your usages through DAO functions?
pt...@taifun-software.de <pt...@taifun-software.de> #27
I also had this error message in 2.7.0-alpha11.
It turned out that I had accidentally introduced a runBlocking within a transaction when migrating code. Removing the block solved the problem.
android.database.SQLException: Error code: 5, message: Timed out attempting to acquire a writer connection.
Writer pool:
androidx.room.coroutines.Pool@ba431e8 (capacity=1)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@d8e2001
Status: Acquired connection
Coroutine: [kotlinx.coroutines.UndispatchedMarker@50a1ea6, UndispatchedCoroutine{Active}@509d0e7, Dispatchers.IO]
Acquired:
at androidx.room.coroutines.ConnectionWithLock.markAcquired(ConnectionPoolImpl.kt:276)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:133)
at androidx.room.RoomConnectionManager.useConnection(RoomConnectionManager.android.kt:126)
at androidx.room.RoomDatabase.useConnection$room_runtime_release(RoomDatabase.android.kt:583)
at androidx.room.util.DBUtil__DBUtil_androidKt$performInTransactionSuspending$3.invokeSuspend(DBUtil.android.kt:238)
at androidx.room.util.DBUtil__DBUtil_androidKt$performInTransactionSuspending$3.invoke(Unknown Source:8)
at androidx.room.util.DBUtil__DBUtil_androidKt$performInTransactionSuspending$3.invoke(Unknown Source:4)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:42)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:164)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source:1)
at androidx.room.util.DBUtil__DBUtil_androidKt.performInTransactionSuspending(DBUtil.android.kt:90)
at androidx.room.util.DBUtil.performInTransactionSuspending(Unknown Source:1)
at com.company.core.data.database.RoomDatabase_SQLiteDao_Impl.transaction(RoomDatabase_SQLiteDao_Impl.kt:25)
at com.company.core.data.sync.database.room.SyncRoomDatabase.withTransaction(SyncRoomDatabase.kt:31)
at com.company.core.data.sync.database.room.SyncRoomDatabase.addToSyncQueueAndUpdateSequence(SyncRoomDatabase.kt:111)
at com.company.core.data.sync.replicator.ChangesPullReplicator$start$1.invokeSuspend(ChangesPullReplicator.kt:66)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:266)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:100)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
Reader pool:
androidx.room.coroutines.Pool@cbbbb3d (capacity=4)
[1] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@d297f32
Status: Free connection
[2] - androidx.sqlite.driver.bundled.BundledSQLiteConnection@2189483
Status: Free connection
[3] - null
[4] - null
at androidx.sqlite.SQLite.throwSQLiteException(SQLite.kt:81)
at androidx.room.coroutines.ConnectionPoolImpl.throwTimeoutException(ConnectionPoolImpl.kt:186)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:138)
at androidx.room.coroutines.ConnectionPoolImpl$useConnection$1.invokeSuspend(Unknown Source:16)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
E at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:100) (Ask Gemini)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:99)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@7992ddd, Dispatchers.IO]
ya...@gmail.com <ya...@gmail.com> #28
da...@mservice.com.vn <da...@mservice.com.vn> #29
gu...@gmail.com <gu...@gmail.com> #30
da...@google.com <da...@google.com> #31
This issue (Timed out attempting to acquire a writer connection
) has been fixed in the latest version, if you are still experiencing it, please let us know with as much info as possible.
Description
At random occasions the app crashes with this exception. The code is practically copied and pasted from another project that is only Android and has never had this issue. It happens throughout all the app when a Room query is collected from a Flow. I think that happens more frequently when multiple queries are requested at the same time or the data collected is big.
For example, this is how I gather all the flows (some of them use Room queries) into a single flow to be .collectAsState() in a Screen. It usually crashes when I simply get into the Screen, I know it's going to crash within 5 or 10 seconds because it should be showing info that is not present. If I navigate back and forth maybe the next time it loads everything and works perfectly.
val state = combine(
buscando, textfieldText, hayTeleindicadores, listaGraficos, idGrafico,
diaSemana, ordenBusqueda, dialogCompi, turnosBuscados, trenesBuscados,
teleindicadoresBuscados, coloresTrenes, imagenEgaInitialScroll, imagenEgaTurno
) {array ->
BuscadorState(
array[0] as Buscando,
array[1] as String,
array[2] as Boolean,
array[3] as List<GrGraficos>,
array[4] as Long,
array[5] as String,
array[6] as OrdenBusqueda,
array[7] as LsUsers,
array[8] as List<TurnoBuscadorDM>?,
array[9] as List<TurnoBuscadorDM>?,
array[10] as List<OtTeleindicadores>,
array[11] as List<OtColoresTrenes>?,
array[12] as Int,
array[13] as TurnoBuscadorDM?,
)
}
The project uses Koin to inject the database and has its libraries updated.
Versions used:
androidx-room = "2.7.0-alpha04"
ksp = "2.0.0-1.0.22"
sqlite = "2.5.0-alpha04"
kotlin = "2.0.0"
koin = "3.6.0-Beta4"
koinComposeMultiplatform = "1.2.0-Beta4"
The exception on Android:
FATAL EXCEPTION: main
Process: es.kirito.kirito, PID: 7775
android.database.SQLException: Error code: 5, message: Timed out attempting to acquire a connection
at androidx.sqlite.SQLiteKt.throwSQLiteException(SQLite.kt:42)
at androidx.room.coroutines.ConnectionPoolImpl.useConnection(ConnectionPoolImpl.kt:138)
at androidx.room.coroutines.ConnectionPoolImpl$useConnection$1.invokeSuspend(Unknown Source:16)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:28)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:99)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:102)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@4fef71c, Dispatchers.Main.immediate]
And this is the same error on iOS, that shows a longer stacktrace:
Uncaught Kotlin exception: androidx.sqlite.SQLiteException: Error code: 5, message: Timed out attempting to acquire a connection
at 0 Kirito 0x10228eab9 kfun:kotlin.Throwable#<init>(kotlin.String?){} + 105
at 1 Kirito 0x102288fe5 kfun:kotlin.Exception#<init>(kotlin.String?){} + 101
at 2 Kirito 0x1022891a5 kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 101
at 3 Kirito 0x103e022e9 kfun:androidx.sqlite.SQLiteException#<init>(kotlin.String){} + 89
at 4 Kirito 0x103e01dc8 kfun:androidx.sqlite#throwSQLiteException(kotlin.Int;kotlin.String?){}kotlin.Nothing + 792
at 5 Kirito 0x103e202d5 kfun:androidx.room.coroutines.ConnectionPoolImpl.$useConnectionCOROUTINE$0.invokeSuspend#internal + 6165
at 6 Kirito 0x1023d8143 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 51
at 7 Kirito 0x1022947bd kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 829
at 8 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 9 Kirito 0x10251c596 kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterResume(kotlin.Any?){} + 294
at 10 Kirito 0x102544eab kfun:kotlinx.coroutines.AbstractCoroutine#afterResume(kotlin.Any?){}-trampoline + 43
at 11 Kirito 0x102477c07 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 391
at 12 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 13 Kirito 0x102294a4e kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486
at 14 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 15 Kirito 0x1025147f2 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2514
at 16 Kirito 0x1025477b0 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64
at 17 Kirito 0x102517a97 kfun:kotlinx.coroutines.internal.LimitedDispatcher.Worker.run#internal + 343
at 18 Kirito 0x1025477b0 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64
at 19 Kirito 0x10253f445 kfun:kotlinx.coroutines.MultiWorkerDispatcher.$workerRunLoop$lambda$2COROUTINE$0.invokeSuspend#internal + 2597
at 20 Kirito 0x1023d8143 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#invokeSuspend(kotlin.Result<kotlin.Any?>){}kotlin.Any?-trampoline + 51
at 21 Kirito 0x1022947bd kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 829
at 22 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 23 Kirito 0x1025148e7 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2759
at 24 Kirito 0x1025477b0 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64
at 25 Kirito 0x10248f2be kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long + 1534
at 26 Kirito 0x1025475b3 kfun:kotlinx.coroutines.EventLoop#processNextEvent(){}kotlin.Long-trampoline + 35
at 27 Kirito 0x102537e36 kfun:kotlinx.coroutines.BlockingCoroutine.joinBlocking#internal + 566
at 28 Kirito 0x102536bd4 kfun:kotlinx.coroutines#runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>){0§<kotlin.Any?>}0:0 + 1780
at 29 Kirito 0x102536e22 kfun:kotlinx.coroutines#runBlocking$default(kotlin.coroutines.CoroutineContext?;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>;kotlin.Int){0§<kotlin.Any?>}0:0 + 290
at 30 Kirito 0x10253cef5 kfun:kotlinx.coroutines.MultiWorkerDispatcher.workerRunLoop#internal + 197
at 31 Kirito 0x10253e5ab kfun:kotlinx.coroutines.MultiWorkerDispatcher.<init>$lambda$1$lambda$0#internal + 59
at 32 Kirito 0x10253fbcf kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$5.invoke#internal + 63
at 33 Kirito 0x10253fc8f kfun:kotlinx.coroutines.MultiWorkerDispatcher.$<init>$lambda$1$lambda$0$FUNCTION_REFERENCE$5.$<bridge-UNN>invoke(){}#internal + 63
at 34 Kirito 0x1023d5628 kfun:kotlin.Function0#invoke(){}1:0-trampoline + 72
at 35 Kirito 0x1022a1bb1 WorkerLaunchpad + 129
at 36 Kirito 0x102435a81 _ZN6Worker19processQueueElementEb + 2817
at 37 Kirito 0x102434ec2 ZN12_GLOBAL_N_113workerRoutineEPv + 130
at 38 libsystem_pthread.dylib 0x10788a18a _pthread_start + 98
at 39 libsystem_pthread.dylib 0x107885ae2 thread_start + 14
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@88cc89e8, Dispatchers.Main.immediate]
at 0 Kirito 0x10228eab9 kfun:kotlin.Throwable#<init>(kotlin.String?){} + 105
at 1 Kirito 0x102288fe5 kfun:kotlin.Exception#<init>(kotlin.String?){} + 101
at 2 Kirito 0x1022891a5 kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 101
at 3 Kirito 0x1025411b4 kfun:kotlinx.coroutines.internal.DiagnosticCoroutineContextException#<init>(kotlin.coroutines.CoroutineContext){} + 180
at 4 Kirito 0x10251007e kfun:kotlinx.coroutines.internal#handleUncaughtCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 942
at 5 Kirito 0x102489e93 kfun:kotlinx.coroutines#handleCoroutineException(kotlin.coroutines.CoroutineContext;kotlin.Throwable){} + 723
at 6 Kirito 0x10247c134 kfun:kotlinx.coroutines.StandaloneCoroutine.handleJobException#internal + 180
at 7 Kirito 0x102548abb kfun:kotlinx.coroutines.JobSupport#handleJobException(kotlin.Throwable){}kotlin.Boolean-trampoline + 43
at 8 Kirito 0x1024955e6 kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1382
at 9 Kirito 0x10249f597 kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2487
at 10 Kirito 0x10249eb99 kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 697
at 11 Kirito 0x10249e6bd kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 509
at 12 Kirito 0x102477ba7 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 295
at 13 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 14 Kirito 0x102294a4e kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486
at 15 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 16 Kirito 0x10251c596 kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterResume(kotlin.Any?){} + 294
at 17 Kirito 0x102544eab kfun:kotlinx.coroutines.AbstractCoroutine#afterResume(kotlin.Any?){}-trampoline + 43
at 18 Kirito 0x102477c07 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 391
at 19 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 20 Kirito 0x102294a4e kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486
at 21 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 22 Kirito 0x1025147f2 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2514
at 23 Kirito 0x10248d0f6 kfun:kotlinx.coroutines.EventLoop#processUnconfinedEvent(){}kotlin.Boolean + 438
at 24 Kirito 0x102513407 kfun:kotlinx.coroutines.internal#resumeCancellableWith_at_kotlin.coroutines.Continuation<0:0>(kotlin.Result<0:0>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?){0§<kotlin.Any?>} + 2871
at 25 Kirito 0x1025135b6 kfun:kotlinx.coroutines.internal#resumeCancellableWith$default_at_kotlin.coroutines.Continuation<0:0>(kotlin.Result<0:0>;kotlin.Function1<kotlin.Throwable,kotlin.Unit>?;kotlin.Int){0§<kotlin.Any?>} + 310
at 26 Kirito 0x10251c442 kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterCompletion(kotlin.Any?){} + 370
at 27 Kirito 0x10254906b kfun:kotlinx.coroutines.JobSupport#afterCompletion(kotlin.Any?){}-trampoline + 43
at 28 Kirito 0x1024a01e4 kfun:kotlinx.coroutines.JobSupport.continueCompleting#internal + 564
at 29 Kirito 0x1024a2ef7 kfun:kotlinx.coroutines.JobSupport.ChildCompletion.invoke#internal + 343
at 30 Kirito 0x102548beb kfun:kotlinx.coroutines.JobNode#invoke(kotlin.Throwable?){}-trampoline + 43
at 31 Kirito 0x102497aa0 kfun:kotlinx.coroutines.JobSupport.notifyCompletion#internal + 1136
at 32 Kirito 0x102496b42 kfun:kotlinx.coroutines.JobSupport.completeStateFinalization#internal + 1506
at 33 Kirito 0x102495739 kfun:kotlinx.coroutines.JobSupport.finalizeFinishingState#internal + 1721
at 34 Kirito 0x10249f597 kfun:kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath#internal + 2487
at 35 Kirito 0x10249eb99 kfun:kotlinx.coroutines.JobSupport.tryMakeCompleting#internal + 697
at 36 Kirito 0x10249e6bd kfun:kotlinx.coroutines.JobSupport#makeCompletingOnce(kotlin.Any?){}kotlin.Any? + 509
at 37 Kirito 0x102477ba7 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 295
at 38 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 39 Kirito 0x102294a4e kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486
at 40 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 41 Kirito 0x10251c596 kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterResume(kotlin.Any?){} + 294
at 42 Kirito 0x102544eab kfun:kotlinx.coroutines.AbstractCoroutine#afterResume(kotlin.Any?){}-trampoline + 43
at 43 Kirito 0x102477c07 kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 391
at 44 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 45 Kirito 0x102294a4e kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 1486
at 46 Kirito 0x1023d81e9 kfun:kotlin.coroutines.Continuation#resumeWith(kotlin.Result<1:0>){}-trampoline + 73
at 47 Kirito 0x1025147f2 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 2514
at 48 Kirito 0x1025477b0 kfun:kotlinx.coroutines.Runnable#run(){}-trampoline + 64
at 49 Kirito 0x10254380b kfun:kotlinx.coroutines.DarwinMainDispatcher.dispatch$lambda$0#internal + 59
at 50 Kirito 0x102543aff kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.invoke#internal + 63
at 51 Kirito 0x102543bbf kfun:kotlinx.coroutines.DarwinMainDispatcher.$dispatch$lambda$0$FUNCTION_REFERENCE$1.$<bridge-UNN>invoke(){}#internal + 63
at 52 Kirito 0x1023d5628 kfun:kotlin.Function0#invoke(){}1:0-trampoline + 72
at 53 Kirito 0x102544c48 _6f72672e6a6574627261696e732e6b6f746c696e783a6b6f746c696e782d636f726f7574696e65732d636f72652f6f70742f6275696c644167656e742f776f726b2f343465633665383530643563363366302f6b6f746c696e782d636f726f7574696e65732d636f72652f6e617469766544617277696e2f7372632f44697370617463686572732e6b74_knbridge13 + 184
at 54 libdispatch.dylib 0x7ff8001783eb _dispatch_call_block_and_release + 11
at 55 libdispatch.dylib 0x7ff8001796d7 _dispatch_client_callout + 7
at 56 libdispatch.dylib 0x7ff80018848b _dispatch_main_queue_drain + 1419
at 57 libdispatch.dylib 0x7ff800187ef1 _dispatch_main_queue_callback_4CF + 30
at 58 CoreFoundation 0x7ff800429af3 _CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE_ + 8
at 59 CoreFoundation 0x7ff80042442e __CFRunLoopRun + 2462
at 60 CoreFoundation 0x7ff8004236ac CFRunLoopRunSpecific + 556
at 61 GraphicsServices 0x7ff8103da08e GSEventRunModal + 136
at 62 UIKitCore 0x7ff805cc0ad0 -[UIApplication _run] + 971
at 63 UIKitCore 0x7ff805cc5550 UIApplicationMain + 122
at 64 SwiftUI 0x7ffa159e5f0e objectdestroy.44Tm + 2709
at 65 SwiftUI 0x7ffa159e5dcb objectdestroy.44Tm + 2386
at 66 SwiftUI 0x7ffa15611f34 get_witness_table 7SwiftUI4ViewRzlAA15ModifiedContentVyxAA30_EnvironmentKeyWritingModifierVySbGGAaBHPxAaBHD1__AgA0cI0HPyHCHCTm + 218
at 67 Kirito 0x10179491d $s6Kirito6iOSAppV5$mainyyFZ + 29
at 68 Kirito 0x1017949a8 main + 8 (/Users/yak112/StudioProjects/KiritoMultiplatform/iosApp/iosApp/iOSApp.swift:<unknown>)
at 69 dyld 0x10732d3df 0x0 + 4415738847
at 70 ??? 0x113e58365 0x0 + 4628775781