当前位置: 首页 > 知识库问答 >
问题:

致命信号11(SIGSEGV),代码1,故障addr 0x0在tid 1597(电话服务器)

蒋泰
2023-03-14

我移植了android 7.1牛轧糖,在phoneserver中遇到了这个错误。下面是logcat的一个小片段。你能告诉我怎么修理吗。

-------— beginning of crash
08-12 22:38:58.159 1597 1597 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 
in tid 1597 (phoneserver)
08-12 22:38:58.165 120 120 W : debuggerd: handling request: pid=1597 uid=10070 gid=10070 
tid=1597
08-12 22:38:58.182 1598 1598 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** 
*** *** *** ***
08-12 22:38:58.182 1598 1598 F DEBUG : CM Version: '14.1-20210809-UNOFFICIAL-higgs2g'
08-12 22:38:58.182 1598 1598 F DEBUG : Build fingerprint: 
'samsung/cm_higgs2g/higgs2g:7.1/NDE63X/aeaa9a3dd2:userdebug/test-keys'
08-12 22:38:58.182 1598 1598 F DEBUG : Revision: '0'
08-12 22:38:58.182 1598 1598 F DEBUG : ABI: 'arm'
08-12 22:38:58.183 1598 1598 F DEBUG : pid: 1597, tid: 1597, name: phoneserver »> 
phoneserver «<
08-12 22:38:58.183 1598 1598 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault 
addr 0x0
08-12 22:38:58.183 1598 1598 F DEBUG : r0 00000000 r1 b6fb2db8 r2 bee62a1c r3 ffffffd8
08-12 22:38:58.183 1598 1598 F DEBUG : r4 b6fb6f0c r5 6d2d0064 r6 ffffffff r7 00000000
08-12 22:38:58.183 1598 1598 F DEBUG : r8 00000000 r9 00000000 sl 00000000 fp bee62a0c
08-12 22:38:58.183 1598 1598 F DEBUG : ip 00000002 sp bee62670 lr b6fad89d pc b6e4b46c 
cpsr 600e0030
08-12 22:38:58.190 1598 1598 F DEBUG :
08-12 22:38:58.190 1598 1598 F DEBUG : backtrace:
08-12 22:38:58.190 1598 1598 F DEBUG : #00 pc 0001846c /system/lib/libc.so (strcmp+375)
08-12 22:38:58.190 1598 1598 F DEBUG : #01 pc 00002899 /system/bin/phoneserver
08-12 22:38:58.190 1598 1598 F DEBUG : #02 pc 00016c7d /system/lib/libc.so 
(__libc_init+48)
08-12 22:38:58.190 1598 1598 F DEBUG : #03 pc 0000210c /system/bin/phoneserver
08-12 22:38:58.239 454 633 W NativeCrashListener: Couldn't find ProcessRecord for pid 
1597
08-12 22:38:58.244 454 488 I BootReceiver: Copying /data/tombstones/tombstone_07 to 
DropBox (SYSTEM_TOMBSTONE)
08-12 22:38:58.247 120 120 W : debuggerd: resuming target 1597

共有1个答案

陆正德
2023-03-14

这里没有足够的信息来计算出它的细节。

phoneserver进程试图访问<code>strcmp()调用中的<code>NULL<code>指针。

不幸的是,您的/system/bin/phones erver可执行文件似乎不包含调试符号(或者至少没有一个用于地址0x2899)。如果您在out/.../符号/系统/bin/phones erver中有一个相应的文件(即自此构建以来尚未重建您的源代码树),您可能能够通过gdb或bintools(客观转储-dnm等)找出它是哪个函数

如果这种崩溃很容易重现,另一种可能性是将未剥离的可执行文件(符号/中的文件)推送到设备上,替换 /system/bin/phoneserver.的文件。希望崩溃处理程序会成功地为您解析该符号——将其打印到日志中。我不确定这是否有效,但如果有效,这可能是最简单的方法。

 类似资料: