Android JNI 报错(signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr )

该日志记录了Android设备上一个由于尝试关闭预期未拥有文件描述符引发的崩溃问题。错误源于fdsan,即文件描述符 sanitizer,它检测到试图关闭的文件描述符342已被另一个唯一标识为0x79499d63b8的文件描述符占用。崩溃发生在与硬件服务交互的过程中,具体在XXXXXXX_DEFAULT服务的XXXXXXX_RECV_DATA函数中。崩溃调用栈涉及到了JNI、Binder进程间通信以及线程管理等。问题可能与不正确的文件描述符管理或并发操作有关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 目前看是线程调用问题引起的 , 错误Log如下:


F DEBUG   : uid: 1000
F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
F DEBUG   : Abort message: 'fdsan: attempted to close file descriptor 342, expected to be unowned, actually owned by unique_fd 0x79499d63b8'
F DEBUG   :     x0  0000000000000000  x1  00000000000002ac  x2  0000000000000006  x3  0000007825ff7dc0
F DEBUG   :     x4  0000000000000000  x5  0000000000000000  x6  0000000000000000  x7  0000000000000040
F DEBUG   :     x8  00000000000000f0  x9  885261ca2e96c8ec  x10 0000000000000002  x11 0101010101010101
F DEBUG   :     x12 0000000000000038  x13 000000006112a376  x14 0010b0760c06eb20  x15 00004bf984ec6238
F DEBUG   :     x16 0000007b9bb87c80  x17 0000007b9bb692d0  x18 0000007816f7a000  x19 0000000000000100
F DEBUG   :     x20 00000000000002ac  x21 0000007825ff7bb8  x22 0000007826009000  x23 0000000000000003
F DEBUG   :     x24 0000007825ff7eb0  x25 0000007825ff7b30  x26 0000007825ff7af0  x27 ffffff80ffffffc8
F DEBUG   :     x28 00000000130e2480  x29 0000007825ff7e50
F DEBUG   :     lr  0000007b9bb215a0  sp  0000007825ff7a70  pc  0000007b9bb215c4  pst 0000000000001000
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=538.50146, y[0]=146.43742, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=207254, downTime=207235, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=536.50323, y[0]=144.93806, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207271, downTime=207235, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=535.50415, y[0]=142.93892, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207305, downTime=207235, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=535.50415, y[0]=142.93892, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207323, downTime=207235, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NavigationBar0]: enqueueInputEvent: event = MotionEvent { action=ACTION_OUTSIDE, actionButton=0, id[0]=0, x[0]=554.4866, y[0]=-2062.0571, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207397, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@85f11b8
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=554.4866, y[0]=133.94276, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207397, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=551.4894, y[0]=138.94063, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=1, eventTime=207423, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_POINTER_DOWN(1), actionButton=0, id[0]=0, x[0]=551.4894, y[0]=138.94063, toolType[0]=TOOL_TYPE_FINGER, id[1]=1, x[1]=1062.0166, y[1]=1642.2981, toolType[1]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=2, historySize=0, eventTime=207423, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=549.1593, y[0]=141.27182, toolType[0]=TOOL_TYPE_FINGER, id[1]=1, x[1]=1061.0176, y[1]=1642.2981, toolType[1]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=2, historySize=1, eventTime=207441, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_MOVE, actionButton=0, id[0]=0, x[0]=549.4912, y[0]=142.43913, toolType[0]=TOOL_TYPE_FINGER, id[1]=1, x[1]=1061.0176, y[1]=1642.2981, toolType[1]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=2, historySize=1, eventTime=207456, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_POINTER_UP(1), actionButton=0, id[0]=0, x[0]=549.4912, y[0]=141.93935, toolType[0]=TOOL_TYPE_FINGER, id[1]=1, x[1]=1061.0176, y[1]=1642.2981, toolType[1]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=2, historySize=0, eventTime=207471, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
V ViewRootImpl[NotificationShade]: enqueueInputEvent: event = MotionEvent { action=ACTION_UP, actionButton=0, id[0]=0, x[0]=549.4912, y[0]=141.93935, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=207480, downTime=207397, deviceId=4, source=0x1002, displayId=0 },processImmediately = true,mProcessInputEventsScheduled = false, this = android.view.ViewRootImpl@7961aa1
F DEBUG   : backtrace:
F DEBUG   :       #00 pc 00000000000525c4  /apex/com.android.runtime/lib64/bionic/libc.so (fdsan_error(char const*, ...)+584) (BuildId: e1e8eb5e5af955a1237062585bcd4103)
F DEBUG   :       #01 pc 00000000000522c4  /apex/com.android.runtime/lib64/bionic/libc.so (android_fdsan_close_with_tag+728) (BuildId: e1e8eb5e5af955a1237062585bcd4103)
F DEBUG   :       #02 pc 0000000000052a14  /apex/com.android.runtime/lib64/bionic/libc.so (close+16) (BuildId: e1e8eb5e5af955a1237062585bcd4103)
F DEBUG   :       #03 pc 000000000001d588  /system/lib64/hw/XXXXXXX.default.so (XXXXXXX_Recv_Data+220) (BuildId: 8ea9cb858f9e07f9f46e2667695e7f73)
F DEBUG   :       #04 pc 0000000000010fb0  /system/lib64/hw/XXXXXXX.default.so (XXXXXXX_Recv_Total_Data+40) (BuildId: 8ea9cb858f9e07f9f46e2667695e7f73)
F DEBUG   :       #05 pc 000000000001369c  /system/lib64/hw/XXXXXXX.default.so (XXXXXXX_SYMMETRY_ExtKey_Update+252) (BuildId: 8ea9cb858f9e07f9f46e2667695e7f73)
F DEBUG   :       #06 pc 0000000000021548  /system/lib64/hw/XXXXXXX.default.so (XXXXXXX_SYMMETRY_ExtKey_Update+108) (BuildId: 8ea9cb858f9e07f9f46e2667695e7f73)
F DEBUG   :       #07 pc 00000000000a1838  /system/lib64/libandroid_servers.so (android::XXXXXXXUpdateWithExternKey(_JNIEnv*, _jclass*, int, _jbyteArray*, int, _jbyteArray*)+300) (BuildId: 7b24715925318e898834e959142e824b)
F DEBUG   :       #08 pc 00000000005ed0c8  /system/framework/oat/arm64/services.odex (art_jni_trampoline+216) (BuildId: a73b061189f8866f355b3b3fbacd14f0e71e983c)
F DEBUG   :       #09 pc 00000000005f1f34  /system/framework/oat/arm64/services.odex (com.android.server.XXXXXXXService.XXXXXXXUpdateWithExternKey+148) (BuildId: a73b061189f8866f355b3b3fbacd14f0e71e983c)
F DEBUG   :       #10 pc 0000000002047780  /memfd:jit-cache (deleted) (offset 0x2000000) (android.hardware.IXXXXXXXService$Stub.onTransact+5056)
F DEBUG   :       #11 pc 00000000006d30a8  /system/framework/arm64/boot-framework.oat (android.os.Binder.execTransactInternal+712) (BuildId: cb40bb60dea784fc5c91727443635ece3046a254)
F DEBUG   :       #12 pc 00000000006d2cb8  /system/framework/arm64/boot-framework.oat (android.os.Binder.execTransact+296) (BuildId: cb40bb60dea784fc5c91727443635ece3046a254)
F DEBUG   :       #13 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 16e7d67479d4fab1064b63613451746c)
F DEBUG   :       #14 pc 00000000001a8a6c  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: 16e7d67479d4fab1064b63613451746c)
F DEBUG   :       #15 pc 000000000054a034  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+468) (BuildId: 16e7d67479d4fab1064b63613451746c)
F DEBUG   :       #16 pc 000000000054a1d4  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: 16e7d67479d4fab1064b63613451746c)
F DEBUG   :       #17 pc 000000000039d98c  /apex/com.android.art/lib64/libart.so (art::JNI<false>::CallBooleanMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+644) (BuildId: 16e7d67479d4fab1064b63613451746c)
F DEBUG   :       #18 pc 000000000009c3bc  /system/lib64/libandroid_runtime.so (_JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)+124) (BuildId: 37c9f455caf075bbbd023f776c4bfbfe)
F DEBUG   :       #19 pc 000000000012309c  /system/lib64/libandroid_runtime.so (JavaBBinder::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+156) (BuildId: 37c9f455caf075bbbd023f776c4bfbfe)
F DEBUG   :       #20 pc 000000000004983c  /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+232) (BuildId: a413cfd9d08090f0dd0bc1ee6de89016)
F DEBUG   :       #21 pc 0000000000052254  /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+1056) (BuildId: a413cfd9d08090f0dd0bc1ee6de89016)
F DEBUG   :       #22 pc 0000000000051d84  /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+156) (BuildId: a413cfd9d08090f0dd0bc1ee6de89016)
F DEBUG   :       #23 pc 00000000000525dc  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) (BuildId: a413cfd9d08090f0dd0bc1ee6de89016)
F DEBUG   :       #24 pc 0000000000078970  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: a413cfd9d08090f0dd0bc1ee6de89016)
F DEBUG   :       #25 pc 0000000000015414  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) (BuildId: 4868adbd42643f4c59035cf91f86828c)
F DEBUG   :       #26 pc 00000000000a1944  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: 37c9f455caf075bbbd023f776c4bfbfe)
F DEBUG   :       #27 pc 0000000000014cd8  /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) (BuildId: 4868adbd42643f4c59035cf91f86828c)
F DEBUG   :       #28 pc 00000000000af82c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: e1e8eb5e5af955a1237062585bcd4103)
F DEBUG   :       #29 pc 00000000000500d0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: e1e8eb5e5af955a1237062585bcd4103)
D StatusBar: disable1: 0x00000000 -> 0x00000000 (diff1: 0x00000000)
D StatusBar: disable2: 0x00000000 -> 0x00000000 (diff2: 0x00000000)

问题参考:

(11条消息) 文件描述符排错程序 (fdsan)_LlanyW的专栏-CSDN博客

诊断原生代码崩溃问题  |  Android 开源项目  |  Android Open Source Project (google.cn)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一歲抬頭

点赞1元,收藏免费,打赏随意。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值