You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Google Play Console reports a top production crash cluster: SIGABRT in split_config.arm64_v8a.apk for package to.bitkit (mainnet).
Native abort() (typical of Rust panic / fatal native assert in release).
Stack frames Android - Project setup #1–Scan and camera #29 show only raw program counters — not symbolicated to libldk_node.so / libbitkit_core.so in Play Vitals, despite native-debug-symbols.zip (25.7 MB) on bundle 181.aab (2.2.0).
Native worker thread (__pthread_start / __start_thread), not main/UI thread.
Play Vitals (60-day): ~38% of crash events in top cluster (~60 events, ~22 users); heavily version 181 (2.2.0); mostly foreground; Android 13–16, multiple OEMs.
User-perceived crash rate elevated since native Bitkit 2.0 (Feb 2026).
Expected behavior
App must not crash with SIGABRT during normal wallet/Lightning use on production mainnet. Play or local symbolication should resolve native PCs to function names for triage.
Use app in foreground: sync, activity, send/receive Lightning, channels.
Optional: rapid background/foreground, large wallet, post-migration state.
Capture adb logcat around crash.
No deterministic repro confirmed yet.
Logs / Screenshots / Recordings
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 10374 >>> to.bitkit <<<
backtrace:
#00 pc 0x0000000000077980 /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
#01 pc 0x0000000000ceaff0 /data/app/.../split_config.arm64_v8a.apk
#02 pc 0x0000000000cf22cc /data/app/.../split_config.arm64_v8a.apk
#03 pc 0x0000000000cddf58 /data/app/.../split_config.arm64_v8a.apk
#04 pc 0x00000000009ca2f4 /data/app/.../split_config.arm64_v8a.apk
#05 pc 0x0000000000cddebc /data/app/.../split_config.arm64_v8a.apk
#06 pc 0x0000000000cf35a0 /data/app/.../split_config.arm64_v8a.apk
#07 pc 0x0000000000cf3208 /data/app/.../split_config.arm64_v8a.apk
#08 pc 0x0000000000cedf98 /data/app/.../split_config.arm64_v8a.apk
#09 pc 0x0000000000cde028 /data/app/.../split_config.arm64_v8a.apk
#10 pc 0x0000000000d25798 /data/app/.../split_config.arm64_v8a.apk
#11 pc 0x000000000079ad48 /data/app/.../split_config.arm64_v8a.apk
#12 pc 0x00000000006c3a84 /data/app/.../split_config.arm64_v8a.apk
#13 pc 0x00000000006c6a18 /data/app/.../split_config.arm64_v8a.apk
#14 pc 0x00000000006c8aac /data/app/.../split_config.arm64_v8a.apk
#15 pc 0x00000000006cb1ec /data/app/.../split_config.arm64_v8a.apk
#16 pc 0x0000000000ba6208 /data/app/.../split_config.arm64_v8a.apk
#17 pc 0x0000000000ba3fb4 /data/app/.../split_config.arm64_v8a.apk
#18 pc 0x0000000000ba3798 /data/app/.../split_config.arm64_v8a.apk
#19 pc 0x0000000000ba487c /data/app/.../split_config.arm64_v8a.apk
#20 pc 0x0000000000ba5bd0 /data/app/.../split_config.arm64_v8a.apk
#21 pc 0x000000000057f000 /data/app/.../split_config.arm64_v8a.apk
#22 pc 0x00000000006c396c /data/app/.../split_config.arm64_v8a.apk
#23 pc 0x00000000006c5ac4 /data/app/.../split_config.arm64_v8a.apk
#24 pc 0x00000000006c6d64 /data/app/.../split_config.arm64_v8a.apk
#25 pc 0x00000000006cb0b4 /data/app/.../split_config.arm64_v8a.apk
#26 pc 0x0000000000ba08ec /data/app/.../split_config.arm64_v8a.apk
#27 pc 0x0000000000b9a4c8 /data/app/.../split_config.arm64_v8a.apk
#28 pc 0x0000000000b9b33c /data/app/.../split_config.arm64_v8a.apk
#29 pc 0x0000000000cec490 /data/app/.../split_config.arm64_v8a.apk
#30 pc 0x000000000008a714 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+180)
#31 pc 0x000000000007b3b4 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
Attach Play vitals screenshots. Symbol zip: rebuild from tag v2.2.0 (app/build/outputs/native-debug-symbols/mainnetRelease/native-debug-symbols.zip) — Play lists symbols on bundle 181 but does not offer download.
What happened?
Google Play Console reports a top production crash cluster: SIGABRT in
split_config.arm64_v8a.apkfor packageto.bitkit(mainnet).abort()(typical of Rust panic / fatal native assert in release).libldk_node.so/libbitkit_core.soin Play Vitals, despitenative-debug-symbols.zip(25.7 MB) on bundle 181.aab (2.2.0).__pthread_start/__start_thread), not main/UI thread.Expected behavior
App must not crash with SIGABRT during normal wallet/Lightning use on production mainnet. Play or local symbolication should resolve native PCs to function names for triage.
Steps to Reproduce
LightningNodeServicerunning).adb logcataround crash.No deterministic repro confirmed yet.
Logs / Screenshots / Recordings
Attach Play vitals screenshots. Symbol zip: rebuild from tag
v2.2.0(app/build/outputs/native-debug-symbols/mainnetRelease/native-debug-symbols.zip) — Play lists symbols on bundle 181 but does not offer download.Play report: https://play.google.com/console/u/1/developers/5690237613698939049/app/4973032799696771282/vitals/crashes/025a57b3db54dc722bb0cbed27ed8e12/details?isUserPerceived=true&days=60
Bitkit Version
2.2.0 (version code 181), mainnet
to.bitkit. Tagv2.2.0(2026-04-07). Native deps at tag:ldk-node-android0.7.0-rc.36,bitkit-core-android0.1.56.Device / OS
Android 13–16 (SDK 33–36), multiple OEMs (HMD, Pixel, OPPO, Samsung A24, etc.).
Reproducibility
Sometimes (<50%)
Additional context
Engineering triage:
native-debug-symbols.zipfrom v2.2.0 build (ndk-stack/llvm-addr2lineon arm64-v8a libs).ldk-node/bitkit-coreRust on background thread; confirm after symbolication.Separate FGS clusters: #980, #981. Related: #443.