[webkit-dev] Webkit crash with JIT enabled

rucaslu(鲁阳) rucaslu at tencent.com
Thu Feb 9 18:38:37 PST 2012


Hello everyone,

I’m trying to building webkit with JIT enabled in my Android 2.2 project but I get errors like this:

/tmp/ccrx2gC4.s: Assembler messages:
/tmp/ccrx2gC4.s:24: Error: selected processor does not support `stmdb sp!,{r1-r3}'
/tmp/ccrx2gC4.s:25: Error: selected processor does not support `stmdb sp!,{r4-r8,lr}'
/tmp/ccrx2gC4.s:32: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
/tmp/ccrx2gC4.s:45: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
/tmp/ccrx2gC4.s:51: Error: lo register required -- `str lr,[sp,#64]'
/tmp/ccrx2gC4.s:53: Error: lo register required -- `ldr lr,[sp,#64]'
/tmp/ccrx2gC4.s:58: Error: lo register required -- `str lr,[sp,#64]'
/tmp/ccrx2gC4.s:60: Error: lo register required -- `ldr lr,[sp,#64]'
/tmp/ccrx2gC4.s:65: Error: lo register required -- `str lr,[sp,#64]'
/tmp/ccrx2gC4.s:67: Error: lo register required -- `ldr lr,[sp,#64]'
/tmp/ccrx2gC4.s:72: Error: lo register required -- `str lr,[sp,#64]'
…

I believe this is because I’m using a Thumb compiler, so I modified Source/JavaScriptCore/Android.mk to something like this:

- Jit/xxx.cpp
+ jit/xxx.cpp.arm

So JIT code is compiled by ARM compiler, build was successed and ran quite smoothly on my phone. But after a while frequently
refreshing www.apple.com<http://www.apple.com/>, which is contained lots of js file, Webkit crashed mysterious without stack backtrace, so I even don’t
know where to start my investigation.

02-01 15:43:28.304: I/DEBUG(15979): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-01 15:43:28.304: I/DEBUG(15979): Build fingerprint: 'ZTE/P729CU_UNICOM/blade/blade:2.2.2/FRF91/20110624.170249:user/release-keys'
02-01 15:43:28.304: I/DEBUG(15979): pid: 16329, tid: 16329  >>> com.tencent.smtt <<<
02-01 15:43:28.304: I/DEBUG(15979): signal 11 (SIGSEGV), fault addr 00003714
02-01 15:43:28.304: I/DEBUG(15979):  r0 343cf4b0  r1 fffffffb  r2 00000001  r3 0000120c
02-01 15:43:28.304: I/DEBUG(15979):  r4 359fe238  r5 00000391  r6 35e3e2e0  r7 35f05c28
02-01 15:43:28.304: I/DEBUG(15979):  r8 414b6b24  r9 005b4fbc  10 7e9b4b98  fp 359fe000
02-01 15:43:28.304: I/DEBUG(15979):  ip 00001200  sp 7e9b4ac0  lr 35fec914  pc 00003714  cpsr 60000010
02-01 15:43:28.354: I/dun_service(95): process rmnet event
02-01 15:43:28.384: I/DEBUG(15979):          #00  pc 00003714
02-01 15:43:28.384: I/DEBUG(15979):          #01  lr 35fec914  <unknown>
02-01 15:43:28.384: I/DEBUG(15979): code around pc:
02-01 15:43:28.384: I/DEBUG(15979): 000036f4 ffffffff ffffffff ffffffff ffffffff
02-01 15:43:28.384: I/DEBUG(15979): 00003704 ffffffff ffffffff ffffffff ffffffff
02-01 15:43:28.384: I/DEBUG(15979): 00003714 ffffffff ffffffff ffffffff ffffffff
02-01 15:43:28.384: I/DEBUG(15979): 00003724 ffffffff ffffffff ffffffff ffffffff
02-01 15:43:28.384: I/DEBUG(15979): 00003734 ffffffff ffffffff ffffffff ffffffff
02-01 15:43:28.384: I/DEBUG(15979): code around lr:
02-01 15:43:28.384: I/DEBUG(15979): 35fec8f4 e59f815c e58d8010 e1a0000d e58d4060
02-01 15:43:28.384: I/DEBUG(15979): 35fec904 e59f3150 e5834000 e59f814c e12fff38
02-01 15:43:28.384: I/DEBUG(15979): 35fec914 e5840060 e5841064 eaffebf4 e58d0008
02-01 15:43:28.384: I/DEBUG(15979): 35fec924 e58d100c e59f8138 e58d8010 e1a0000d
02-01 15:43:28.384: I/DEBUG(15979): 35fec934 e58d4060 e59f312c e5834000 e59f8128
02-01 15:43:28.384: I/DEBUG(15979): stack:
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a80  00000000
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a84  fffffffa
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a88  0000005c
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a8c  00000003
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a90  35f84db0
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a94  fffffffb
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a98  2c2beecc
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4a9c  359fe238
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4aa0  00000391
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4aa4  35e3e2e0
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4aa8  35f05c28
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4aac  414b6b24  /data/data/com.tencent.smtt/lib/libmttwebcore.so
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ab0  005b4fbc  [heap]
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ab4  7e9b4b98  [stack]
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ab8  df002777
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4abc  e3a070ad
02-01 15:43:28.384: I/DEBUG(15979): #00 7e9b4ac0  008c3dc0  [heap]
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ac4  00af65d8  [heap]
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ac8  35f84db0
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4acc  fffffffb
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ad0  002939c4  [heap]
02-01 15:43:28.384: I/DEBUG(15979):     7e9b4ad4  fffffffb
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4ad8  00000001
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4adc  ffffffff
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4ae0  3446b120
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4ae4  00000000
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4ae8  7e9b4b08  [stack]
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4aec  fffffffb
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4af0  35ffe7f0
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4af4  00000000
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4af8  00000000
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4afc  35e3e2e0
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4b00  35fec914
02-01 15:43:28.394: I/DEBUG(15979):     7e9b4b04  7e9b4b98  [stack]
Can anyone point a direction for me or I should continue to digging it myself?

Thanks
Lu Yang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20120210/8cfb8e26/attachment.html>


More information about the webkit-dev mailing list