2014-09-24 4 views
1

ffmpeg를 사용하는 Android 앱에서 작업하고 있습니다. 나는 ffmpeg를 크로스 컴파일했고 대부분의 장치에서 잘 작동한다. 하지만 일부 삼성 장치에서 libffmpeg-neon.so 파일을로드하는 중일 때 치명적인 신호 11이 발생합니다. 내가 디버그 기호 (--disable-stripping --enable-debug=3cflags += -gstabs+)과는 FFmpeg을 다시 컴파일 한 및 스택 추적 한android : libffmpeg-neon library로드 중 : 치명적인 신호 11

:

09-24 12:30:48.564 505-564/? D/CrashAnrDetector﹕ Build: samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys 
Hardware: piranha 
Revision: 9 
Bootloader: unknown 
Radio: unknown 
Kernel: Linux version 3.0.31-1919150 ([email protected]) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202)) #1 SMP PREEMPT Fri Oct 18 15:31:19 KST 2013 
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 
Build fingerprint: 'samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys' 
Revision: '9' 
pid: 5902, tid: 5902, name: om.company.project >>> com.company.project <<< 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad 
r0 00000027 r1 deadbaad r2 401d5258 r3 00000000 
r4 00000000 r5 beffb36c r6 00000004 r7 41217400 
r8 00000000 r9 409d21b0 sl 4005cb58 fp 00000001 
ip 5f6b5468 sp beffb368 lr 401a854d pc 401a4be2 cpsr 60000030 
d0 65706d666662696c d1 732e6e6f656e2d67 
d2 732e30323763692e d3 2f312d6c6f6f6863 
d4 0000000000000000 d5 3f80000000000000 
d6 3f80000000000000 d7 3f8000003f800000 
d8 0000000000000000 d9 0000000000000000 
d10 0000000000000000 d11 0000000000000000 
d12 0000000000000000 d13 0000000000000000 
d14 0000000000000000 d15 0000000000000000 
d16 0000000800000007 d17 003926e90036320b 
d18 003f10a5003c1bc7 d19 0044fa6100420583 
d20 006e401c00628019 d21 0085c022007a001f 
d22 0707070703030303 d23 0000002e0000002b 
d24 009d80280091c025 d25 00b5402e00a9402b 
d26 0000002700000024 d27 0000002d0000002a 
d28 006e400000628000 d29 0085c000007a0000 
d30 0000000100000001 d31 0000000100000001 
scr 60000090 
backtrace: 
#00 pc 0001abe2 /system/lib/libc.so 
#01 pc 00018208 /system/lib/libc.so (abort+4) 
#02 pc 008b076c /data/app-lib/com.company.project-1/libffmpeg-neon.so (__check_for_sync8_kernelhelper+68) 
#03 pc 000032b3 /system/bin/linker 
#04 pc 0000510b /system/bin/linker 
#05 pc 0004f973 /system/lib/libdvm.so (dvmLoadNativeCode(char const*, Object*, char**)+186) 
#06 pc 0006681d /system/lib/libdvm.so 
#07 pc 000276e0 /system/lib/libdvm.so 
#08 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184) 
#09 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
#10 pc 0005fca3 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20) 
#11 pc 0006ad49 /system/lib/libdvm.so (dvmInitClass+1036) 
#12 pc 000225dc /system/lib/libdvm.so (dvmAsmSisterStart+412) 
#13 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184) 
#14 pc 0005ff4f /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374) 
#15 pc 00067879 /system/lib/libdvm.so 
#16 pc 000276e0 /system/lib/libdvm.so 
#17 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184) 
#18 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272) 
#19 pc 00049a43 /system/lib/libdvm.so 
#20 pc 00047f43 /system/lib/libandroid_runtime.so 
#21 pc 000492df /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+390) 
#22 pc 00000db7 /system/bin/app_process 
#23 pc 0001287f /system/lib/libc.so (__libc_init+38) 
#24 pc 00000ae8 /system/bin/app_process 
stack: 
beffb328 400eea98 
beffb32c 400ede0c 
beffb330 400ebcf8 /system/bin/linker 
beffb334 400ebf40 /system/bin/linker 
beffb338 400ec4f4 
beffb33c 400eb0ac /system/bin/linker 
beffb340 401d2254 /system/lib/libc.so 
beffb344 401d21b4 /system/lib/libc.so 
beffb348 00000000 
beffb34c 401a854d /system/lib/libc.so (_fwalk+32) 
beffb350 00000001 
beffb354 beffb36c [stack] 
beffb358 00000004 
beffb35c 41217400 [heap] 
09-24 12:30:48.564 505-564/? D/CrashAnrDetector﹕ processName:com.company.project 

문제는 내가 그래서 난 할 수없는 그림는 FFmpeg 소스에서 check_for_sync 또는 kernelhelper을 찾을 수 있다는 것입니다 뭐가 잘못 됐는지. 이견있는 사람?

추신. 난 readelf -Ws libffmpeg-neon.so | grep 8b076c 시도하고 아무것도.

답변

관련 문제