最近在做一款android 网页游戏客户端.发现android 4.0.3, 4.0.4 webview在多次load网页,  尤其是load动画(html5)后很容易直接crash。错误信息是Fatal signal 11 (SIGSEGV)。我网上搜索了好久,也发现好多人碰到这个问题,但没看到有人给出解决方案,十分费解,看起来是sdk内部报出的错误。不知道有没有大侠碰到或解决的,麻烦指教下,多谢。相关线索:
http://stackoverflow.com/questions/7652289/how-do-you-troubleshoot-an-android-system-library-crash-libwebcore-so
http://stackoverflow.com/questions/9975675/signal-11-sigsegv-code-1-segv-maperr具体crash log:
12-27 10:29:31.224: I/handmes(2587): handle blackvalue==0,uid=10094,pid=12,content=null
12-27 10:29:31.704: A/libc(7593): Fatal signal 11 (SIGSEGV) at 0x04ec889e (code=1)
12-27 10:29:32.109: I/DEBUG(1334): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-27 10:29:32.109: I/DEBUG(1334): Build fingerprint: 'Lenovo/stuttgart/stuttgart:4.0.4/IMM76D/K860_1_S_2_001_0230_120928:user/release-keys'
12-27 10:29:32.109: I/DEBUG(1334): pid: 7593, tid: 7654  >>> cn.mobage.g13000253 <<<
12-27 10:29:32.109: I/DEBUG(1334): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 04ec889e
12-27 10:29:32.109: I/DEBUG(1334):  r0 04ec889e  r1 00000040  r2 00000980  r3 04ec889f
12-27 10:29:32.109: I/DEBUG(1334):  r4 04ec889e  r5 0000003c  r6 00000040  r7 02a979d0
12-27 10:29:32.109: I/DEBUG(1334):  r8 5b77091c  r9 02a979d8  10 01dd9a20  fp 5b770c24
12-27 10:29:32.109: I/DEBUG(1334):  ip 400a6498  sp 5b7708b0  lr 59eb8123  pc 59e891ae  cpsr 08000030
12-27 10:29:32.109: I/DEBUG(1334):  d0  0000000050dbb28b  d1  41d436eca267552a
12-27 10:29:32.109: I/DEBUG(1334):  d2  0000000043820000  d3  000000003f000000
12-27 10:29:32.109: I/DEBUG(1334):  d4  bf80000043c60000  d5  42b9000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d6  0000000c00000000  d7  000adf6a00008701
12-27 10:29:32.109: I/DEBUG(1334):  d8  00000000000004ca  d9  3fa999999999999a
12-27 10:29:32.109: I/DEBUG(1334):  d10 0000000000000000  d11 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d12 0000000000000000  d13 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d14 0000000000000000  d15 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d16 41d436eca2ed9a7c  d17 3fe6cd3e0bd44999
12-27 10:29:32.109: I/DEBUG(1334):  d18 4125bed400000000  d19 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d20 3ff0000000000000  d21 8000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d22 0000000000000000  d23 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d24 3ff0000000000000  d25 0000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d26 0000000000000000  d27 8000000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d28 3fefb69bff6c59ea  d29 3ff0000000000000
12-27 10:29:32.109: I/DEBUG(1334):  d30 0000000000000000  d31 3ff0000000000000
12-27 10:29:32.109: I/DEBUG(1334):  scr 60000013
12-27 10:29:32.259: I/DEBUG(1334):          #00  pc 0012c1ae  /system/lib/libwebcore.so
12-27 10:29:32.264: I/DEBUG(1334):          #01  pc 0015b11e  /system/lib/libwebcore.so
12-27 10:29:32.264: I/DEBUG(1334):          #02  pc 003435bc  /system/lib/libwebcore.so
12-27 10:29:32.264: I/DEBUG(1334):          #03  pc 003397e2  /system/lib/libwebcore.so
12-27 10:29:32.269: I/DEBUG(1334):          #04  pc 0017005a  /system/lib/libwebcore.so
12-27 10:29:32.269: I/DEBUG(1334):          #05  pc 0017008a  /system/lib/libwebcore.so
12-27 10:29:32.269: I/DEBUG(1334):          #06  pc 00170ac0  /system/lib/libwebcore.so
12-27 10:29:32.274: I/DEBUG(1334):          #07  pc 00170c9e  /system/lib/libwebcore.so
12-27 10:29:32.274: I/DEBUG(1334):          #08  pc 0016b666  /system/lib/libwebcore.so
12-27 10:29:32.274: I/DEBUG(1334):          #09  pc 0016b68a  /system/lib/libwebcore.so
12-27 10:29:32.279: I/DEBUG(1334):          #10  pc 0016b6e6  /system/lib/libwebcore.so
12-27 10:29:32.279: I/DEBUG(1334):          #11  pc 0017540a  /system/lib/libwebcore.so
12-27 10:29:32.279: I/DEBUG(1334):          #12  pc 0017901c  /system/lib/libwebcore.so
12-27 10:29:32.279: I/DEBUG(1334):          #13  pc 001753e4  /system/lib/libwebcore.so
12-27 10:29:32.279: I/DEBUG(1334): code around pc:
12-27 10:29:32.279: I/DEBUG(1334): 59e8918c bf00bd10 b140b510 2b016843 3b01d002  [email protected].+...;
12-27 10:29:32.279: I/DEBUG(1334): 59e8919c e0026043 68516802 bd104788 4604b510  C`...hQh.G.....F
12-27 10:29:32.279: I/DEBUG(1334): 59e891ac 6803b150 60033b80 023ff033 f002d104  P..h.;.`3.?.....
12-27 10:29:32.279: I/DEBUG(1334): 59e891bc 4620fc47 fc02f000 bf00bd10 4604b510  G. F...........F
12-27 10:29:32.279: I/DEBUG(1334): 59e891cc 6803b150 d0022b01 60033b01 f05be004  P..h.+...;.`..[.
12-27 10:29:32.279: I/DEBUG(1334): code around lr:
12-27 10:29:32.279: I/DEBUG(1334): 59eb8100 00414d8a 006045e6 006045da 4604b570  .MA..E`..E`.p..F
12-27 10:29:32.279: I/DEBUG(1334): 59eb8110 2500460e f854e006 1c430035 f7d1d001  .F.%..T.5.C.....
12-27 10:29:32.279: I/DEBUG(1334): 59eb8120 3501f843 dbf642b5 f7d14620 bd70fc4d  C..5.B.. F..M.p.
12-27 10:29:32.279: I/DEBUG(1334): 59eb8130 6840b513 6a43460c d514049a b1119101  [email protected]........
12-27 10:29:32.279: I/DEBUG(1334): 59eb8140 1c51684a a9016061 23012200 fbd2f1ec  JhQ.a`...".#....
12-27 10:29:32.279: I/DEBUG(1334): memory map around addr 04ec889e:
12-27 10:29:32.284: I/DEBUG(1334): 01cb3000-02b12000 [heap]
12-27 10:29:32.284: I/DEBUG(1334): (no map for address)
12-27 10:29:32.284: I/DEBUG(1334): 10000000-10001000 
12-27 10:29:32.284: I/DEBUG(1334): stack:
12-27 10:29:32.284: I/DEBUG(1334):     5b770870  01dd9a20  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b770874  40073ac9  /system/lib/libc.so
12-27 10:29:32.284: I/DEBUG(1334):     5b770878  023c5468  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b77087c  02066698  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b770880  5b7708b0  
12-27 10:29:32.284: I/DEBUG(1334):     5b770884  02a979d0  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b770888  5b77091c  
12-27 10:29:32.284: I/DEBUG(1334):     5b77088c  02a979d8  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b770890  5b7708b0  
12-27 10:29:32.284: I/DEBUG(1334):     5b770894  59ec3091  /system/lib/libwebcore.so
12-27 10:29:32.284: I/DEBUG(1334):     5b770898  023c5468  [heap]
12-27 10:29:32.284: I/DEBUG(1334):     5b77089c  00000000  
12-27 10:29:32.284: I/DEBUG(1334):     5b7708a0  5b7708b0  
12-27 10:29:32.284: I/DEBUG(1334):     5b7708a4  5a0a05a1  /system/lib/libwebcore.so
12-27 10:29:32.284: I/DEBUG(1334):     5b7708a8  df0027ad  
12-27 10:29:32.289: I/DEBUG(1334):     5b7708ac  00000000  
12-27 10:29:32.289: I/DEBUG(1334): #00 5b7708b0  023c5268  [heap]
12-27 10:29:32.289: I/DEBUG(1334):     5b7708b4  59eb8123  /system/lib/libwebcore.so
12-27 10:29:32.289: I/DEBUG(1334): #01 5b7708b8  0235c328  [heap]
12-27 10:29:32.289: I/DEBUG(1334):     5b7708bc  5a46e048  /system/lib/libwebcore.so
12-27 10:29:32.289: I/DEBUG(1334):     5b7708c0  5a096795  /system/lib/libwebcore.so
12-27 10:29:32.289: I/DEBUG(1334):     5b7708c4  5a0a05c1  /system/lib/libwebcore.so
12-27 10:29:32.289: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:32.289: W/SignalStrength(2317): getLevel=4
12-27 10:29:33.984: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:33.984: W/SignalStrength(2317): getLevel=4
12-27 10:29:35.299: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:35.299: W/SignalStrength(2317): getLevel=4
12-27 10:29:38.309: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:38.309: W/SignalStrength(2317): getLevel=4
12-27 10:29:39.204: I/LS(2406): recvmsg ok
12-27 10:29:39.204: E/LS(2406): ++socket_read_all2++
12-27 10:29:39.204: I/LS(2406): recvmsg ok
12-27 10:29:39.204: E/LS(2406): ++socket_read_all2++
12-27 10:29:39.204: W/SignalStrength(2227): getGsmLevel=4
12-27 10:29:39.204: W/SignalStrength(2227): getLevel=4
12-27 10:29:39.204: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:39.204: W/SignalStrength(2317): getLevel=4
12-27 10:29:39.204: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:39.204: W/SignalStrength(2317): getGsmLevel=4
12-27 10:29:39.204: W/SignalStrength(2317): getLevel=4
12-27 10:29:39.259: E/StatusBar.BatteryController(2317): high temp
12-27 10:29:40.139: I/DEBUG(1334): debuggerd committing suicide to free the zombie!
12-27 10:29:40.139: I/BootReceiver(2227): Copying /data/tombstones/tombstone_07 to DropBox (SYSTEM_TOMBSTONE)
12-27 10:29:40.144: I/DEBUG(7966): debuggerd: Sep 28 2012 17:31:14
12-27 10:29:40.469: I/WindowManager(2227): WIN DEATH: Window{41f41448 cn.mobage.g13000253/com.mobage.ww.a975.Warriors_of_Valhalla_Android paused=false}
12-27 10:29:40.469: I/ActivityManager(2227): Process cn.mobage.g13000253 (pid 7593) has died.
12-27 10:29:40.469: W/ActivityManager(2227): Scheduling restart of crashed service cn.mobage.g13000253/com.denachina.androidpn.client.NotificationService in 5000ms
12-27 10:29:40.469: W/ActivityManager(2227): Force removing ActivityRecord{419a9f40 cn.mobage.g13000253/com.mobage.ww.a975.Warriors_of_Valhalla_Android}: app died, no saved state

解决方案 »

  1.   

    请问,这个问题您解决了么?
    我也遇到同样的问题,在Android Webview里运行动画,大概5分钟之后就 Crash signal11
      

  2.   

    楼主对webkit内核熟悉不?
    如果熟悉的话 用系统的编译中间文件(一定要是你现在用的手机的编译文件 不然容易出现代码在文件中的行数对不上) 使用addr2line工具恢复如下堆栈:
    12-27 10:29:32.259: I/DEBUG(1334):          #00  pc 0012c1ae  /system/lib/libwebcore.so
    12-27 10:29:32.264: I/DEBUG(1334):          #01  pc 0015b11e  /system/lib/libwebcore.so
    12-27 10:29:32.264: I/DEBUG(1334):          #02  pc 003435bc  /system/lib/libwebcore.so
    12-27 10:29:32.264: I/DEBUG(1334):          #03  pc 003397e2  /system/lib/libwebcore.so
    12-27 10:29:32.269: I/DEBUG(1334):          #04  pc 0017005a  /system/lib/libwebcore.so
    12-27 10:29:32.269: I/DEBUG(1334):          #05  pc 0017008a  /system/lib/libwebcore.so
    12-27 10:29:32.269: I/DEBUG(1334):          #06  pc 00170ac0  /system/lib/libwebcore.so
    12-27 10:29:32.274: I/DEBUG(1334):          #07  pc 00170c9e  /system/lib/libwebcore.so
    12-27 10:29:32.274: I/DEBUG(1334):          #08  pc 0016b666  /system/lib/libwebcore.so
    12-27 10:29:32.274: I/DEBUG(1334):          #09  pc 0016b68a  /system/lib/libwebcore.so
    12-27 10:29:32.279: I/DEBUG(1334):          #10  pc 0016b6e6  /system/lib/libwebcore.so
    12-27 10:29:32.279: I/DEBUG(1334):          #11  pc 0017540a  /system/lib/libwebcore.so
    12-27 10:29:32.279: I/DEBUG(1334):          #12  pc 0017901c  /system/lib/libwebcore.so
    12-27 10:29:32.279: I/DEBUG(1334):          #13  pc 001753e4  /system/lib/libwebcore.so
    然后查看跟踪代码 分析内存访问失败的原因 一般是指针访问了被释放掉对象内存的地址 需要修改webkit内核 然后pushd到系统上去
    如果楼主不熟悉webkit内核 那么这类问题是很难解决的 因为这是内核的bug
    供参考