ping 的本机崩溃



有人可以帮助我解决我在Pre Launch Report后和某些real devicesPlaystore 模拟器中注意到的这个奇怪错误

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 
'google/hammerhead/hammerhead:4.4.4/KTU84P/1227136:user/release-keys'
Revision: '11'
pid: 8770, tid: 8770, name: ping  >>> ping <<<
signal 13 (SIGPIPE), code -6 (SI_TKILL), fault addr --------
r0 ffffffe0  r1 416040c8  r2 0000002e  r3 00000888
AM write failure (32 / Broken pipe)
r4 400fd1d8  r5 416040c8  r6 0000002e  r7 00000004
r8 000000a4  r9 ffffff88  sl bef905e4  fp ffffffff
ip 400fd184  sp bef904b8  lr 400d82df  pc 400d32e8  cpsr 20030010
d0  0000000000000000  d1  0000000000000000
d2  0000000000000061  d3  000000000000002e
d4  0000000000000000  d5  0000000000000000
d6  0000000000000000  d7  0000000100000000
d8  0000000000000000  d9  0000000000000000
d10 0000000000000000  d11 0000000000000000
d12 0000000000000000  d13 0000000000000000
d14 0000000000000000  d15 0000000000000000
d16 7fefffffffffffff  d17 3ff0000000000000
d18 41bf067eb3000000  d19 0000000000000000
d20 0000000000000000  d21 0000000000000000
d22 0000000000000000  d23 0000000000000000
d24 0000000000000000  d25 0000000000000000
d26 0000000000000000  d27 0000000000000000
d28 0000000000000000  d29 0000000000000000
d30 0000000000000000  d31 0000000000000000
scr 80000010
backtrace:
#00  pc 000202e8  /system/lib/libc.so (write+12)
#01  pc 000252dd  /system/lib/libc.so (__sflush+54)
#02  pc 0002536d  /system/lib/libc.so (fflush+60)
#03  pc 000041ef  /system/bin/ping
#04  pc 000048e5  /system/bin/ping
#05  pc 00002725  /system/bin/ping
#06  pc 0000e34b  /system/lib/libc.so (__libc_init+50)
#07  pc 00001348  /system/bin/ping
stack:
bef90478  00000000  
bef9047c  00000000  
bef90480  00000000  
bef90484  00000000  
bef90488  00000000  
bef9048c  00000000  
bef90490  00000000  
bef90494  00000000  
bef90498  00000000  
bef9049c  00000000  
bef904a0  00000000  
bef904a4  00000000  
bef904a8  400fd1d8  /system/lib/libc.so
bef904ac  416040c8  [heap]
bef904b0  0000002e  
bef904b4  400d82df  /system/lib/libc.so (__sflush+56)
#00  bef904b8  400fd1d8  /system/lib/libc.so
........  ........
#01  bef904b8  400fd1d8  /system/lib/libc.so
bef904bc  00000008  
bef904c0  4010b324  
bef904c4  400d8371  /system/lib/libc.so (fflush+64)
#02  bef904c8  40088ee4  /system/bin/ping
bef904cc  ffffff60  
bef904d0  4010b324  
bef904d4  400861f3  /system/bin/ping
memory near r1:
416040a8 00000000 00000000 00000000 00000000  
416040b8 00000000 00000000 00000000 0000100b  
416040c8 474e4950 382e3820 382e382e 2e382820  
416040d8 2e382e38 32202938 36352838 79622029  
416040e8 20736574 6420666f 2e617461 00000a0a  
416040f8 00000000 00000000 00000000 00000000  
41604108 00000000 00000000 00000000 00000000  
41604118 00000000 00000000 00000000 00000000  
41604128 00000000 00000000 00000000 00000000  
41604138 00000000 00000000 00000000 00000000  
41604148 00000000 00000000 00000000 00000000  
41604158 00000000 00000000 00000000 00000000  
41604168 00000000 00000000 00000000 00000000  
41604178 00000000 00000000 00000000 00000000  
41604188 00000000 00000000 00000000 00000000  
41604198 00000000 00000000 00000000 00000000  
memory near r4:
400fd1b8 00000000 00000000 00000000 00000000  
400fd1c8 00000000 00000000 00000000 00000000  
400fd1d8 416040c8 00000000 00001000 00010888  
400fd1e8 416040c8 00001000 00000000 400fd1d8  
400fd1f8 400d9287 400d9209 400d9263 400d922b  
400fd208 400fd2a4 00000000 00000000 00000000  
400fd218 00000000 00000000 00000000 00001000  
400fd228 00000000 00000000 00000000 00000000  
400fd238 0002000a 00000000 00000000 00000000  
400fd248 400fd22c 400d9287 400d9209 400d9263  
400fd258 400d922b 400fd2b4 00000000 00000000  
400fd268 00000000 00000000 00000000 00000000  
400fd278 00000000 00000000 00000000 ffffffff  
400fd288 00000000 00000011 4010ad8c 00000000  
400fd298 00000000 00000000 00004000 00000000  
400fd2a8 00000000 00000000 00004000 00000000  
memory near r5:
416040a8 00000000 00000000 00000000 00000000  
416040b8 00000000 00000000 00000000 0000100b  
416040c8 474e4950 382e3820 382e382e 2e382820  
416040d8 2e382e38 32202938 36352838 79622029  
416040e8 20736574 6420666f 2e617461 00000a0a  
416040f8 00000000 00000000 00000000 00000000  
41604108 00000000 00000000 00000000 00000000  
41604118 00000000 00000000 00000000 00000000  
41604128 00000000 00000000 00000000 00000000  
41604138 00000000 00000000 00000000 00000000  
41604148 00000000 00000000 00000000 00000000  
41604158 00000000 00000000 00000000 00000000  
41604168 00000000 00000000 00000000 00000000  
41604178 00000000 00000000 00000000 00000000  
41604188 00000000 00000000 00000000 00000000  
41604198 00000000 00000000 00000000 00000000  
memory near sl:
bef905c4 00000000 00000000 00000000 00000000  
bef905d4 00000000 00000000 00000000 00000000  
bef905e4 00000000 00000000 00000000 00000000  
bef905f4 00000000 00000000 00000000 00000000  
bef90604 00000000 00000000 00000000 00000000  
bef90614 00000000 00000000 00000000 00000000  
bef90624 00000000 00000000 00000000 00000000  
bef90634 00000000 00000000 00000000 00000000  
bef90644 00000000 00000000 00000000 00000000  
bef90654 00000000 00000000 00000000 00000000  
bef90664 00000000 00000000 00000000 00000000  
bef90674 00000000 00000000 00000000 00000000  
bef90684 00000000 00000000 00000000 00000000  
bef90694 00000000 00000000 00000000 00000000  
bef906a4 00000000 00000000 00000000 00000000  
bef906b4 00000000 00000000 00000000 00000000  
memory near ip:
400fd164 00000008 000000ff 400f28a1 400f3fa1  
400fd174 00000000 00000000 00000000 ffffffff  
400fd184 00000000 00000000 00000000 00000004  
400fd194 00000000 00000000 00000000 400fd184  
400fd1a4 400d9287 400d9209 400d9263 400d922b  
400fd1b4 400fd294 00000000 00000000 00000000  
400fd1c4 00000000 00000000 00000000 00000000  
400fd1d4 00000000 416040c8 00000000 00001000  
400fd1e4 00010888 416040c8 00001000 00000000  
400fd1f4 400fd1d8 400d9287 400d9209 400d9263  
400fd204 400d922b 400fd2a4 00000000 00000000  
400fd214 00000000 00000000 00000000 00000000  
400fd224 00001000 00000000 00000000 00000000  
400fd234 00000000 0002000a 00000000 00000000  
400fd244 00000000 400fd22c 400d9287 400d9209  
400fd254 400d9263 400d922b 400fd2b4 00000000  
memory near sp:
bef90498 00000000 00000000 00000000 00000000  
bef904a8 400fd1d8 416040c8 0000002e 400d82df  
bef904b8 400fd1d8 00000008 4010b324 400d8371  
bef904c8 40088ee4 ffffff60 4010b324 400861f3  
bef904d8 00000000 00000000 00000000 00000000  
bef904e8 00000000 4008a160 596d9996 000a1d4d  
bef904f8 400890b0 40088ee4 0000000a 00000000  
bef90508 4010b324 000f4240 00000000 40088ee4  
bef90518 00000000 00000003 bef90564 000000a4  
bef90528 4009c2cc bef905e4 ffffffff 400868e9  
bef90538 41604020 000000a4 00000000 00000000  
bef90548 bef90564 00000080 bef90538 00000001  
bef90558 bef905e4 00001000 00000000 00000000  
bef90568 00000000 00000000 00000000 00000000  
bef90578 00000000 00000000 00000000 00000000  
bef90588 00000000 00000000 00000000 00000000  
code around pc:
400d32c8 e1a0700c e3700a01 912fff1e e2600000  
400d32d8 ea0074ab e1a0c007 e3a07004 ef000000  
400d32e8 e1a0700c e3700a01 912fff1e e2600000  
400d32f8 ea0074a3 e1a0c00d e92d00f0 e89c0070  
400d3308 e3a070b4 ef000000 e8bd00f0 e3700a01  
400d3318 912fff1e e2600000 ea007499 e1a0c00d  
400d3328 e92d00f0 e89c0070 e3a070b5 ef000000  
400d3338 e8bd00f0 e3700a01 912fff1e e2600000  
400d3348 ea00748f e1a0c007 e3a07005 ef000000  
400d3358 e1a0700c e3700a01 912fff1e e2600000  
400d3368 ea007487 e1a0c007 e59f7014 ef000000  
400d3378 e1a0700c e3700a01 912fff1e e2600000  
400d3388 ea00747f 00000142 e1a0c007 e3a07006  
400d3398 ef000000 e1a0700c e3700a01 912fff1e  
400d33a8 e2600000 ea007476 e1a0c007 e3a07013  
400d33b8 ef000000 e1a0700c e3700a01 912fff1e  
code around lr:
400d82bc 0799d0fa 60256826 6961bf08 0606ebc5  
400d82cc 2100bf18 e00f60a1 46296ae3 463269e0  
400d82dc 28004798 89a2dc06 0040f042 f04f81a0  
400d82ec bd7030ff 182d1a36 dced2e00 0000e7dc  
400d82fc 4a0b4b0a b570447b 589b4604 461d6819  
400d830c f006b109 4620fc9e ffc7f7ff 68284606  
400d831c 4620b110 fca2f006 bd704630 00024cd4  
400d832c ffffff50 b5704b13 4604447b 4812b928  
400d833c e8bd4478 f7ef4070 4a10bbc3 6819589b  
400d834c b109461e fc7df006 f00089a0 b9350518  
400d835c f874f7ef 35fff04f 60022209 4620e003  
400d836c ff9bf7ff 68334605 4620b113 fc76f006  
400d837c bd704628 00024ca0 ffffffbd ffffff50  
400d838c 4a034b02 5898447b bb9af7ef 00024c44  
400d839c ffffffbc b5f84815 4c154478 ea18f7e9  
400d83ac 447c4b14 681358e2 b9cb4616 46184a12

经过数小时的代码审查,认为在执行这样的事情时会发生这种情况,但不确定:

Runtime runtime = Runtime.getRuntime();
Process ipProcess2 = runtime.exec("ping -c 1 -W 2 eakteam.com");

我试图用 ndk-stack 和其他人阅读,但还没有......如果您之前已经注意到这一点,请帮助我如何为这次崩溃提供解决方案。

更新:

我能够在新的"Google Play Edition"模拟器上运行"ping -c 3 127.0.0.1",没有问题。因此,提升的权限不是问题。 我在Google Play上搜索了一些Ping应用程序,发现只有不支持ICMP ping的设备。例如,请参阅此评论。

ping支持不是 Android 设备制造商的核心要求,也不是 Android 库的一部分。所以有些人会支持它,有些人不会,有些人可能需要root权限,有些人不需要。

所以我最好的建议仍然是使用更高级别的TCP/IP协议,如果你只需要它来检查你自己的服务器。如果需要ping,您应该安装 Crashlytics 或类似的报告工具,并逐渐在 Google Play 中排除它们,以尽量减少差评。


您提到崩溃是在启用Play商店的新模拟器中。 所以我的猜测是,区别在于缺少"提升的特权"。

执行 ping 需要 root 权限,因此如果您没有它,它会严重失败是有道理的。 这也可能是对真实设备的可能解释。

请参阅官方公告。

解决此问题的可能方法是从java代码对服务器进行TCP/IP调用。下面是一个示例。

最新更新