补充一下,运行有问题程序时,偶尔还会现程序崩溃(正常就是GPU渲染不出来,显示黑屏),android dump的tombstone文件如下:
tombstone_09.tar
(100 KB)
Build fingerprint: 'Freescale/sabresd_6dq/sabresd_6dq:4.3/1.1.1-rc2/20141017:eng/dev-keys'
Revision: '405522'
pid: 6118, tid: 6131, name: Thread-201 >>> com.ljgabc.clearview <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000014
r0 0000000d r1 00000000 r2 647dc490 r3 647e59f0
r4 647dc4e0 r5 647892c8 r6 647e48c0 r7 00000000
r8 64798d00 r9 00000000 sl 00000000 fp 00000007
ip 00000006 sp 698029e0 lr 644828e9 pc 6448360a cpsr 800f0030
d0 0000000000000000 d1 0000000000000000
d2 0000000000000000 d3 0000000000000000
d4 000000003f800000 d5 3f80000000000000
d6 0000000400000000 d7 4013333333333333
d8 0000000000000000 d9 0000000000000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 00000000005f79e8 d17 0000000000004008
d18 4010000000000000 d19 4241c37937e08000
d20 3fc554e7eb0eb47c d21 bf66c0c55ca9076a
d22 bfb1be5a93a83e1d d23 3f50000000000000
d24 3f62cda65e663694 d25 bf62cda764a98eab
d26 bfbaf8e8210a415c d27 4000000000000000
d28 40008df2d49d41f1 d29 3fb0f4a31edab38b
d30 3ff0000000000000 d31 3f4de16b9c24a98f
scr 80000010
backtrace:
#00 pc 0007d60a /system/lib/libGAL.so
#01 pc 0007eccf /system/lib/libGAL.so
#02 pc 0007f5ab /system/lib/libGAL.so
#03 pc 00079a27 /system/lib/libGAL.so (gcOptimizeShader+94)
#04 pc 0007587d /system/lib/libGAL.so (gcLinkShaders+84)
#05 pc 0000b9cd /system/lib/egl/libGLESv2_VIVANTE.so
#06 pc 0001712b /system/lib/egl/libGLESv2_VIVANTE.so (glLinkProgram+346)
#07 pc 00006ecb /data/app-lib/com.ljgabc.clearview-2/libclearview.so (OpenGLClearView::CreateProgram(unsigned int&)+98)
#08 pc 00007291 /data/app-lib/com.ljgabc.clearview-2/libclearview.so (OpenGLClearView::Create()+88)
#09 pc 00006a03 /data/app-lib/com.ljgabc.clearview-2/libclearview.so (Java_com_ljgabc_clearview_JNIInterface_setup+42)
#10 pc 0001dc4c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#11 pc 0004decf /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#12 pc 000386c9 /system/lib/libdvm.so (dvmCheckCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+8)
#13 pc 0004f8bd /system/lib/libdvm.so (dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*)+184)
#14 pc 00027060 /system/lib/libdvm.so
#15 pc 0002b5ec /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#16 pc 0005ff21 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+292)
#17 pc 0005ff4b /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#18 pc 00054ccb /system/lib/libdvm.so
#19 pc 0000ca78 /system/lib/libc.so (__thread_entry+72)
#20 pc 0000cbf4 /system/lib/libc.so (pthread_create+208)
通过backtrace查看到代码实在libGAL.so里面挂掉的,
#03 pc 00079a27 /system/lib/libGAL.so (gcOptimizeShader+94)
libGAL里面对shader代码进行优化(gcOptimizeShader),然后不知道调用的什么,就崩溃了。
|