日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

[RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题

發(fā)布時間:2024/8/1 Android 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

現(xiàn)象
通過adb安裝搜狐視頻之后打開apk沒進入界面之后系統(tǒng)就Crash,導致Android重啟。

Crash Log:
--------- beginning of crash
01-21 19:31:22.786 ? 174 ? 174 F libc ? ?: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 174 (surfaceflinger)
01-21 19:31:22.862 ?1152 ?1303 D DataRequestActivity: net connect spend time : 1
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : Build fingerprint: 'Android/rk3288/rk3288:6.0.1/3.0.02/kris05101452:user/platform-keys'
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : Revision: '0'
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : ABI: 'arm'
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : pid: 174, tid: 174, name: surfaceflinger ?>>> /system/bin/surfaceflinger <<<
01-21 19:31:22.888 ? 538 ? 622 W NativeCrashListener: Couldn't find ProcessRecord for pid 174
01-21 19:31:22.888 ? 209 ? 209 F DEBUG ? : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
01-21 19:31:22.892 ? 209 ? 209 F DEBUG ? : ? ? r0 b7db6f00 ?r1 b7fbdec0 ?r2 592c0592 ?r3 0000000a
01-21 19:31:22.892 ? 209 ? 209 E DEBUG ? : AM write failed: Broken pipe
01-21 19:31:22.892 ? 209 ? 209 F DEBUG ? : ? ? r4 b2b49348 ?r5 00000000 ?r6 00000000 ?r7 b7db7b54
01-21 19:31:22.892 ? 209 ? 209 F DEBUG ? : ? ? r8 b7db6f00 ?r9 b7fbdec0 ?sl b2b4a580 ?fp b2b49348
01-21 19:31:22.892 ? 209 ? 209 F DEBUG ? : ? ? ip beffc618 ?sp beffcaf0 ?lr b2b425eb ?pc 00000008 ?cpsr 600f0010
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? :?
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : backtrace:
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #00 pc 00000008 ?<unknown>
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #01 pc 0000c5e9 ?/system/lib/hw/hwcomposer.rk30board.so (_Z14hwc_try_policyP11_hwcContextP22hwc_display_contents_1i+56)
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #02 pc 0000f68f ?/system/lib/hw/hwcomposer.rk30board.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #03 pc 0000fba1 ?/system/lib/hw/hwcomposer.rk30board.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #04 pc 00025c57 ?/system/lib/libsurfaceflinger.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #05 pc 0001be5d ?/system/lib/libsurfaceflinger.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #06 pc 0001b3cb ?/system/lib/libsurfaceflinger.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #07 pc 0001b165 ?/system/lib/libsurfaceflinger.so
01-21 19:31:22.896 ? 209 ? 209 F DEBUG ? : ? ? #08 pc 000135a1 ?/system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+456)
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #09 pc 000136bb ?/system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+130)
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #10 pc 00018601 ?/system/lib/libsurfaceflinger.so
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #11 pc 0001ad8d ?/system/lib/libsurfaceflinger.so (_ZN7android14SurfaceFlinger3runEv+8)
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #12 pc 00000e45 ?/system/bin/surfaceflinger
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #13 pc 00016631 ?/system/lib/libc.so (__libc_init+44)
01-21 19:31:22.897 ? 209 ? 209 F DEBUG ? : ? ? #14 pc 00000cac ?/system/bin/surfaceflinger

調(diào)試

通過objdump定位具體是哪個函數(shù)出現(xiàn)了問題:

#prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-objdump -d -S out/target/product/rk3288/symbols/system/lib/hw/hwcomposer.rk30board.so ?> ~/objdump.txt
找到對應函數(shù)是: hwc_try_policy()@rk_hwcomposer.cpp
int hwc_try_policy(hwcContext * context,hwc_display_contents_1_t * list,int dpyID) {int ret;for(int i = 0;i < HWC_POLICY_NUM;i++){ ......ret = context->fun_policy[i]((void*)context,list);if(!ret){break; // find the Policy}}return ret; }添加Log,發(fā)現(xiàn)crash在context->fun_policy,再打印context->fun_policy地址,
結果crash的時候地址被修改,說明有其他地方把這個地址的內(nèi)容給改寫了!

解決方法
像這種問題比較難處理,而且特別像這種復雜的和硬件相關的HWC模塊,需要非常熟悉才能找到問題點。
幸好更新了rk的最新HWC code之后問題得到了解決。

總結

以上是生活随笔為你收集整理的[RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。