机器人:libffmpeg氖库加载:致命信号11 [英] android: libffmpeg-neon library loading: Fatal signal 11

查看:515
本文介绍了机器人:libffmpeg氖库加载:致命信号11的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用ffmpeg的Andr​​oid应用程序。我交叉编译的ffmpeg,它的工作在大多数设备良好。但在一些三星手机我遇到致命的信号11加载libffmpeg-neon.so文件。

I'm working on android app that uses ffmpeg. I've cross-compiled ffmpeg and it's working good on most devices. But on some Samsung devices i'm having Fatal signal 11 while loading libffmpeg-neon.so file.

我已经重新编译与调试符号(ffmpeg的 - 禁用剥离--enable-调试= 3 CFLAGS + = -gstabs + ),并堆栈跟踪:

I've recompiled ffmpeg with debug symbols (--disable-stripping --enable-debug=3 and cflags += -gstabs+) and have stack trace:

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 (se.infra@SEP-107) (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

问题是,我无法找到 check_for_sync kernelhelper 在FFmpeg的源代码,所以我不能图出了什么问题。有什么想法吗?

The problem is that i can't find check_for_sync or kernelhelper in ffmpeg sources so i can't figure out what's wrong. Any thoughts?

PS。我试过 readelf -ws libffmpeg-neon.so | grep的8b076c 并没有什么。

PS. I've tried readelf -Ws libffmpeg-neon.so | grep 8b076c and nothing.

推荐答案

我发现类似的问题(<一个href=\"http://stackoverflow.com/questions/18022312/android-gcc-4-6-crash-on-check-for-sync8-kernelhelper-arm-ffmpeg\">Android GCC 4.6坠毁在__check_for_sync8_kernelhelper - ARM - FFmpeg的)和Android bug报告(的的https://$c$c.google.com/p/android/issues/detail ID = 58476 ?)。因此,它似乎是错误libgcc中(依然不动自2013年起)。

I've found similar question (Android gcc 4.6 crash on __check_for_sync8_kernelhelper - ARM - FFmpeg) and android bug report (https://code.google.com/p/android/issues/detail?id=58476). So it seems to be libgcc bug (still not fixed since 2013).

PS。通过重新编译ffmpeg的固定 ndk8c 和gcc的 4.4.3 ,而由谷歌等待正常修复

PS. Fixed by recompiling ffmpeg with ndk8c and gcc 4.4.3 while waiting for normal fix by Google

这篇关于机器人:libffmpeg氖库加载:致命信号11的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆