@michele.g, thank you! Merely to confirm, does that also encompass LiteManager’s NullPointerException? The trace is similar, and the reproduction method is identical:
12-21 18:58:18.596 683 683 F libc : crash_dump helper failed to exec, or was killed
12-22 11:44:29.546 21511 21771 E AndroidRuntime: FATAL EXCEPTION: LiteManager
12-22 11:44:29.546 21511 21771 E AndroidRuntime: Process: com.android.settings, PID: 21511
12-22 11:44:29.546 21511 21771 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.sendMessage(android.os.Message)' on a null object reference
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.Message.sendToTarget(Message.java:471)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at com.android.settings.anc.LiteManager.sendResultMessage(LiteManager.java:685)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at com.android.settings.anc.LiteManager.-$Nest$msendResultMessage(LiteManager.java:0)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at com.android.settings.anc.LiteManager$3.run(LiteManager.java:280)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:959)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:100)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:232)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.Looper.loop(Looper.java:317)
12-22 11:44:29.546 21511 21771 E AndroidRuntime: at android.os.HandlerThread.run(HandlerThread.java:85)
I ask because, if so, that allows me to close issuetracker.google.com/issues/441556102, which, currently, is assigned to a Google engineer. I don’t want to waste their manpower. I presume that you’ll upstream your improvements.
@rokejulianlockhart to clarify, the fix we’ve staged specifically targets that SIGSEGV in libanc_faceid_jni.so related to the nativeSetConfig JNI call.
I can’t confirm yet if this also resolves the LiteManager issue, as it wasn’t the primary target of this investigation. If it does clear up, it’s likely due to an indirect dependency on the memory management we patched. If you’re still seeing crashes there after the update, let us know and we’ll have a look at it as a separate case.
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Fairphone/FP5/FP5:15/AQ3A.240912.001/VT2I:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2026-01-07 19:45:40.524406752+0000
Process uptime: 1006s
Cmdline: com.android.settings
pid: 32588, tid: 32588, name: ndroid.settings >>> com.android.settings <<<
uid: 1000
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000000000000
Cause: null pointer dereference
x0 0000000000000000 x1 0000007fccb160d8 x2 0000000000000000 x3 0000007fccb16304
x4 00000000020e07e8 x5 00000000020e4000 x6 00000001020e07e7 x7 00000000ffffffff
x8 0000000000000000 x9 1fa85970afd4961d x10 0000000000000011 x11 0000000000060006
x12 0000007637e24398 x13 76565c0adbf7c867 x14 0000000000000001 x15 0000000034155555
x16 0000000000000001 x17 000000736784ca00 x18 0000007637858000 x19 b4000075461e5ed0
x20 0000000000000000 x21 0000007fccb16304 x22 b4000075461e5ed0 x23 0000000000000007
x24 0000000000000007 x25 000000006a10fa10 x26 00000000020d9f98 x27 00000000020d9f98
x28 0000007636c9aa80 x29 0000007fccb16230
lr 000000736784ca5c sp 0000007fccb160d0 pc 0000000000000000 pst 0000000060001000
35 total frames
backtrace:
#00 pc 0000000000000000 <unknown>
#01 pc 000000000000ba58 /system_ext/lib64/libanc_faceid_jni.so (Java_com_anc_faceid_api_AncFaceId_nativeSetConfig+88) (BuildId: 053b771ee567a04d852e68800858631eec451bb4)
#02 pc 0000000000df6490 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+128)
#03 pc 00000000000e0b50 /data/dalvik-cache/arm64/system_ext@priv-app@Settings@Settings.apk@classes.dex (com.anc.faceid.api.AncFaceIdApi.setConfig+144)
#04 pc 00000000000e9d2c /data/dalvik-cache/arm64/system_ext@priv-app@Settings@Settings.apk@classes.dex (com.android.settings.anc.LiteManager.setConfig+188)
#05 pc 00000000000f9fa8 /data/dalvik-cache/arm64/system_ext@priv-app@Settings@Settings.apk@classes.dex (com.android.settings.anc.unlock.UnlockActivity.onCreate+1304)
#06 pc 00000000008d5058 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Activity.performCreate+1352)
#07 pc 0000000000629570 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.Instrumentation.callActivityOnCreate+80)
#08 pc 000000000070e644 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.performLaunchActivity+3556)
#09 pc 00000000007175f8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.handleLaunchActivity+1752)
#10 pc 0000000000669680 /apex/com.android.art/lib64/libart.so (nterp_helper+4016) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#11 pc 00000000002ff1d2 /system/framework/framework.jar (android.app.servertransaction.LaunchActivityItem.execute+170)
#12 pc 0000000000669624 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#13 pc 0000000000301d56 /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem+154)
#14 pc 0000000000669624 /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#15 pc 0000000000301de2 /system/framework/framework.jar (android.app.servertransaction.TransactionExecutor.executeTransactionItems+70)
#16 pc 000000000065f74c /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.servertransaction.TransactionExecutor.execute+156)
#17 pc 00000000006fa2dc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread$H.handleMessage+2316)
#18 pc 00000000009876e8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Handler.dispatchMessage+168)
#19 pc 000000000098b35c /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loopOnce+1036)
#20 pc 000000000098aea8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Looper.loop+712)
#21 pc 000000000070d69c /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.app.ActivityThread.main+2252)
#22 pc 00000000002ce060 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#23 pc 00000000002c400c /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+552) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#24 pc 00000000005a5628 /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#25 pc 0000000000df3924 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+116)
#26 pc 0000000000cacdf4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+132)
#27 pc 0000000000cb7830 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (com.android.internal.os.ZygoteInit.main+3344)
#28 pc 00000000002ce060 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#29 pc 00000000002ccbb8 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+876) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#30 pc 000000000060ad94 /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+184) (BuildId: 759e344ef0291bdf924e23387b5bf9ea)
#31 pc 00000000000da42c /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+108) (BuildId: 9f5b598290f136d07374d1a5b8388358)
#32 pc 00000000000f1314 /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+916) (BuildId: 9f5b598290f136d07374d1a5b8388358)
#33 pc 0000000000002654 /system/bin/app_process64 (main+1428) (BuildId: cf8363ee21ac2741a6c8dbbb8c562607)
#34 pc 000000000005628c /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+120) (BuildId: 64eb5106bc8ae51d575bce9d5c64cec5)
Consequently, do you know which build incorporates this? I ask because gerrit-public.fairphone.software/q/libanc_faceid_jni returns 0 results, and I don’t appear to have been accepted into your beta programme, so can’t confirm myself.
Indeed @rokejulianlockhart, the fix hasn’t been included in the public release yet. It should be available in an upcoming build, likely within the next couple of releases, though I can’t guarantee a specific timeline as it depends on several other factors.