Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc91303b0 in tid 3587 (RenderThread)
阿新 • • 發佈:2018-11-01
01-16 15:47:13.985 3543-3587/com.face.imageclass A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc91303b0 in tid 3587 (RenderThread) [ 01-16 15:47:13.986 396: 396 W/ ] debuggerd: handling request: pid=3543 uid=10255 gid=10255 tid=3587 01-16 15:47:14.057 4537-4537/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 01-16 15:47:14.057 4537-4537/? A/DEBUG: Build fingerprint: 'HUAWEI/NXT-DL00/HWNXT:7.0/HUAWEINXT-DL00/C17B592:user/release-keys' 01-16 15:47:14.057 4537-4537/? A/DEBUG: Revision: '0' 01-16 15:47:14.057 4537-4537/? A/DEBUG: ABI: 'arm' 01-16 15:47:14.057 4537-4537/? A/DEBUG: pid: 3543, tid: 3587, name: RenderThread >>> com.face.imageclass <<< 01-16 15:47:14.057 4537-4537/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc91303b0 01-16 15:47:14.057 4537-4537/? A/DEBUG: r0 dc6d535c r1 0000000e r2 b4f79f60 r3 c91303b0 01-16 15:47:14.057 4537-4537/? A/DEBUG: r4 00000002 r5 dc6d535c r6 0000000e r7 0000004d 01-16 15:47:14.057 4537-4537/? A/DEBUG: r8 b3eadac8 r9 00000000 sl e4703040 fp 012bbc40 01-16 15:47:14.057 4537-4537/? A/DEBUG: ip ebb30a20 sp b4f79f4c lr ebb30a58 pc ecb8cd16 cpsr a00f0030 01-16 15:47:14.062 4537-4537/? A/DEBUG: backtrace: 01-16 15:47:14.062 4537-4537/? A/DEBUG: #00 pc 00045d16 /system/lib/libc.so (__findenv+33) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #01 pc 00045d81 /system/lib/libc.so (getenv+36) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #02 pc 0027d718 /vendor/lib/egl/libGLES_mali.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #03 pc 0058bc78 /vendor/lib/egl/libGLES_mali.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #04 pc 0058c124 /vendor/lib/egl/libGLES_mali.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #05 pc 0058d37c /vendor/lib/egl/libGLES_mali.so (eglp_swap_buffers+2388) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #06 pc 0000d6b5 /system/lib/libEGL.so (eglSwapBuffersWithDamageKHR+448) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #07 pc 00026f9f /system/lib/libhwui.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #08 pc 00024311 /system/lib/libhwui.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #09 pc 00026213 /system/lib/libhwui.so 01-16 15:47:14.062 4537-4537/? A/DEBUG: #10 pc 000298d1 /system/lib/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+80) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #11 pc 0000e491 /vendor/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+144) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #12 pc 0006c955 /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+80) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #13 pc 00047983 /system/lib/libc.so (_ZL15__pthread_startPv+22) 01-16 15:47:14.062 4537-4537/? A/DEBUG: #14 pc 00019efd /system/lib/libc.so (__start_thread+6) [ 01-16 15:47:14.330 396: 396 W/ ] debuggerd: resuming target 3543
在進行陣列比較並且進行資料庫插入操作時,程式崩潰退出。檢視log,沒發現報異常,只有上述資訊。
剛開始搜的是“pid: 3543, tid: 3587, name: RenderThread”,沒什麼結果。倒是有一篇文章點選csdn連結,但是我程式碼裡的資料一直都是Parcelable了,所以不是這個問題。
又搜了“RenderThread”,也沒太多有用的資訊。
後來又搜了“Fatal signal 11 (SIGSEGV), code 1, fault addr 0xc91303b0 in tid 3587 (RenderThread)”,在stack overflow上發現了一個帖子 stackoverflow,看了也沒發現跟我的有啥關係。
後來想了想,是不是因為出問題的程式碼是在子執行緒裡執行的?就把子執行緒註釋掉,在主執行緒執行。結果發現問題沒再出現。這個好像是呼叫.so檔案中的c++程式碼導致記憶體洩露引起的。
另外這位寫的實在是沒看懂點選csdn連結,還禁止留言,真是日了狗了。有看懂的嗎,交流下。
後來又看到了這個帖子stackoverflow,第一個回答者也是把子執行緒改為了主執行緒,問題解決了。