oobe crash 分析

本文详述了在Android设备线刷过程中遇到oobe启动时crash的问题,通过日志分析确定可能存在空指针异常,特别是libhwui.so中的问题。利用带symbol的so库,借助gcc工具进行反汇编定位到_ZN7android10uirenderer5Layer5flushEv函数,并在源码中发现可能是renderer为空导致。通过修改源码添加空指针保护,解决了该问题,但引发renderer为空的具体场景还需进一步研究。
摘要由CSDN通过智能技术生成

1 现象

    当使用线刷刷入版本的时候,发现oobe第一次必定出现crash的情况。但是以后就再也不会出现crash的情况。

截取关键日志如下:

11-18 15:50:59.130 D/ActionGuard(  656): tag = MainActivity, on = false kkkkkk
11-18 15:50:59.160 F/libc    (  656): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 656 (tws.oobeprocess)
11-18 15:50:59.270 I/DEBUG   (   74): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
11-18 15:50:59.270 I/DEBUG   (   74): Build fingerprint: 'Ingenic/x3_iwop/watch:4.3/JLS36G/66:userdebug/test-keys'
11-18 15:50:59.270 I/DEBUG   (   74): Revision: '0'
11-18 15:50:59.270 I/DEBUG   (   74): pid: 656, tid: 656, name: tws.oobeprocess  >>> com.tencent.tws.oobeprocess <<<
11-18 15:50:59.270 I/DEBUG   (   74): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
11-18 15:50:59.390 I/DEBUG   (   74):  zr 00000000  at 00000001  v0 58390f70  v1 2b8134f0
11-18 15:50:59.390 I/DEBUG   (   74):  a0 00000000  a1 7fa9cab0  a2 00000000  a3 583a85d8
11-18 15:50:59.390 I/DEBUG   (   74):  t0 2c046ba0  t1 000005e4  t2 00000000  t3 00000000
11-18 15:50:59.390 I/DEBUG   (   74):  t4 00000004  t5 ffffffff  t6 00000003  t7 7fa9cab8
11-18 15:50:59.400 I/DEBUG   (   74):  s0 55d043f0  s1 57feda98  s2 55d043f0  s3 00000001
11-18 15:50:59.400 I/DEBUG   (   74):  s4 2cdee4a0  s5 2ce115c8  s6 7fa9cc68  s7 00000001
11-18 15:50:59.400 I/DEBUG   (   74):  t8 00000001  t9 2cdc5038  k0 8af00025  k1 00000000
11-18 15:50:59.400 I/DEBUG   (   74):  gp 2ce1a270  sp 7fa9ca68  s8 7fa9cb24  ra 2cdca954
11-18 15:50:59.400 I/DEBUG   (   74):  hi 00000000  lo 00000030 bva 00000000 epc 2cdc507c
11-18 15:50:59.400 I/DEBUG   (   74): 
11-18 15:50:59.400 I/DEBUG   (   74): backtrace:
11-18 15:50:59.400 I/DEBUG   (   74):     #00  pc 0002d07c  /system/lib/libhwui.so
11-18 15:50:59.400 I/DEBUG   (   74):     #01  pc 0003294c  /system/lib/libhwui.so
11-18 15:50:59.400 I/DEBUG   (   74):     #02  pc 00032b18  /system/lib/libhwui.so
11-18 15:50:59.400 I/DEBUG   (   74):     #03  pc 000925b8  /system/lib/libandroid_runtime.so
11-18 15:50:59.400 I/DEBUG   (   74):     #04  pc 00022c24  /system/lib/libdvm.so (dvmPlatformInvoke+212)
11-18 15:50:59.400 I/DEBUG   (   74):     #05  pc 00000001  <unknown>

     从log来看,很有可能存在空指针的情况。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值