Fatal signal 11 (SIGSEGV) at 0x390955ae (code=1)

关于如下debug无法看出究竟是哪出了问题。之前尝试各种方法,折腾了老半天都是没有结果。


F/libc    (  148): Fatal signal 11 (SIGSEGV) at 0x390955ae (code=1)

I/ProtocalService(  148): [service]SaveOrder type:1data1:734data2:47
I/protocal_service(  148): [jni]saveo_order 1 734 47
D/protocal_core(  148): [C]type 1 data1 734 data2 47 
D/protocal_packet(  148): RCV ACK !
I/ProtocalService(  148): [service]SaveOrder type:1data1:737data2:53
I/protocal_service(  148): [jni]saveo_order 1 737 53
D/protocal_core(  148): [C]type 1 data1 737 data2 53 
D/protocal_packet(  148): RCV ACK !
I/DEBUG   (   84): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (   84): Build fingerprint: 'softwinners/crane_evb_v13/crane-evb-v13:4.0.4/IMM76D/20130530:eng/test-keys'
I/DEBUG   (   84): pid: 148, tid: 155  >>> system_server <<<
I/DEBUG   (   84): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 390955ae
I/DEBUG   (   84):  r0 02de0100  r1 4e00002d  r2 4e00004d  r3 390955aa
I/DEBUG   (   84):  r4 408a69c0  r5 408a69c8  r6 408a69c8  r7 00000020
I/DEBUG   (   84):  r8 00001fa4  r9 5add5bfc  10 00001fb0  fp 00014c01
I/DEBUG   (   84):  ip 00000000  sp 5add5b50  lr 4086b9bb  pc 4086b840  cpsr 20000030
I/DEBUG   (   84):  d0  0005010256edb101  d1  584556d647806e00
I/DEBUG   (   84):  d2  1c2de0008008f200  d3  47806e704300e000
I/DEBUG   (   84):  d4  a20fa108408cf8df  d5  e00fe01aec1af7ca
I/DEBUG   (   84):  d6  dc032900009cf8d7  d7  47b81c317070f8df
I/DEBUG   (   84):  d8  0000000000000000  d9  0000000000000000
I/DEBUG   (   84):  d10 0000000000000000  d11 0000000000000000
I/DEBUG   (   84):  d12 0000000000000000  d13 0000000000000000
I/DEBUG   (   84):  d14 0000000000000000  d15 0000000000000000
I/DEBUG   (   84):  d16 0000000000000001  d17 991f1f1f991f1f1f
I/DEBUG   (   84):  d18 0707070703030303  d19 0000000000000000
I/DEBUG   (   84):  d20 0100010001000100  d21 0100010001000100
I/DEBUG   (   84):  d22 0000000000000000  d23 0000000000000000
I/DEBUG   (   84):  d24 0000000000000000  d25 0000000000000000
I/DEBUG   (   84):  d26 0067006700670067  d27 0067006700670067
I/DEBUG   (   84):  d28 0067006700670067  d29 0067006700670067
I/DEBUG   (   84):  d30 0001000000010000  d31 0001000000010000
I/DEBUG   (   84):  scr 20000012
I/DEBUG   (   84): 
I/DEBUG   (   84):          #00  pc 0007e840  /system/lib/libdvm.so (_Z14dvmCompilerNewjb)
I/DEBUG   (   84):          #01  pc 0007e9b6  /system/lib/libdvm.so (_Z19dvmInitGrowableListP12GrowableListj)
I/DEBUG   (   84):          #02  pc 0007ccf8  /system/lib/libdvm.so (_Z15dvmCompileTraceP19JitTraceDescriptioniP18JitTranslationInfoPA64_li)
I/DEBUG   (   84):          #03  pc 0008632a  /system/lib/libdvm.so (_Z17dvmCompilerDoWorkP17CompilerWorkOrder)
I/DEBUG   (   84):          #04  pc 0007c6ae  /system/lib/libdvm.so
I/DEBUG   (   84):          #05  pc 0005f696  /system/lib/libdvm.so
I/DEBUG   (   84):          #06  pc 00012c64  /system/lib/libc.so (__thread_entry)
I/DEBUG   (   84):          #07  pc 000127b8  /system/lib/libc.so (pthread_create)
I/DEBUG   (   84): 
I/DEBUG   (   84): code around pc:
I/DEBUG   (   84): 4086b820 78a4f641 4c274d26 bf284547 f8df46b8  A..x&M'LGE(..F..
I/DEBUG   (   84): 4086b830 447eb098 0a0cf108 447c447d 68339101  ..~D....}D|D..3h
I/DEBUG   (   84): 4086b840 68186859 4282187a 185cd80c 9b01605a  Yh.hz..B..\.Z`..
I/DEBUG   (   84): 4086b850 b123340c 21004620 f79f463a 4620ed42  .4#. F.!:F..B. F
I/DEBUG   (   84): 4086b860 8ffee8bd b10b689b e7e86033 f79f4650  .....h..3`..PF..
I/DEBUG   (   84): 
I/DEBUG   (   84): code around lr:
I/DEBUG   (   84): 4086b998 1c4868a3 7021f843 e8bd6060 bf0081f0  .hH.C.!p``......
I/DEBUG   (   84): 4086b9a8 23006001 6043b510 00884604 f7ff2101  .`.#..C`.F...!..
I/DEBUG   (   84): 4086b9b8 60a0ff2d bf00bd10 f641b510 f79f70b0  -..`......A..p..
I/DEBUG   (   84): 4086b9c8 4b0eec9e 4604447b b9406018 2006490c  ...K{D.F.`@..I. 
I/DEBUG   (   84): 4086b9d8 44794a0c f79f447a 4620ec74 4a0ae00c  .JyDzD..t. F...J
I/DEBUG   (   84): 

I/DEBUG   (   84): 


解决方法:

1,一开始怀疑自己写的的代码,可上述debug根本没有打印出自己所增加的.so,怀疑系统其它地方存在bug

2,经过反复复制发现只有执行自己新加功能时才会宕机,原因锁定在自己的.so。

3,网上查资料说什么线程锁等等。。。

4,最后只好老老实实检查自己代码,发现有地方对buffer操作出现了越界(低级错误),在多次执行该地方后破坏内存数据导致奔溃。。。



你可能感兴趣的:(android)