gpt4 book ai didi

android - SIGBUS 仅在三星 Galaxy S2 上崩溃

转载 作者:行者123 更新时间:2023-11-30 04:11:51 25 4
gpt4 key购买 nike

我有一个非常奇怪的问题 - 我在所有设备上运行良好,但偶尔会在 Samsung Galaxy S2 上崩溃。

该应用程序使用 ffmpeg 并在某处发生崩溃。但是,我看不出代码本身有任何问题(如果有,它也会在其他设备上崩溃)。

我尝试在关闭所有 asm 优化的情况下进行编译,但仍然无济于事。

似乎崩溃只发生在 2.3.6 上,而不会在 ICS 上崩溃。

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I DEBUG : Build fingerprint: '2.3.6/GINGERBREAD/LA2:user/release-keys'
I DEBUG : pid: 28725, tid: 30055 >>> xxxxxxxxxxxxxx <<<
I DEBUG : signal 7 (SIGBUS), code 128 (?), fault addr 00000000
I DEBUG : r0 8e25e9fe r1 000000b1 r2 00877731 r3 00000000
I DEBUG : r4 5257fe78 r5 005a7300 r6 5257fec4 r7 00630340
I DEBUG : r8 00000000 r9 00000724 10 81de8c6c fp 006ccfe8
I DEBUG : ip 81de44b4 sp 5257fe08 lr 819c3748 pc 818386a0 cpsr 28000010
I DEBUG : d0 fd794ba0fd619c90 d1 fd96d984fd94d4d0
I DEBUG : d2 fd9232c4fd8c7b34 d3 fdaf8694fda5c318
I DEBUG : d4 3f33c07d3f333e16 d5 3f34c43d3f34428b
I DEBUG : d6 40667a147ae147af d7 bff0000000000000
I DEBUG : d8 3ee4f8b588e368f1 d9 4680000044a04000
I DEBUG : d10 43a18000446b8000 d11 0000000043a18000
I DEBUG : d12 0000000000000000 d13 0000000000000000
I DEBUG : d14 0000000000000000 d15 0000000000000000
I DEBUG : d16 0000000001e9a790 d17 fe4dfbc0fe7eccdc
I DEBUG : d18 fdd679ccfe11f78a d19 fd6edbecfd9d4964
I DEBUG : d20 fe9afe9afea3fea3 d21 fe4dfe4dfe7efe7e
I DEBUG : d22 fdd6fdd6fe11fe11 d23 fd6efd6efd9dfd9d
I DEBUG : d24 fd79fd79fd61fd61 d25 fd96fd96fd94fd94
I DEBUG : d26 fd92fd92fd8cfd8c d27 fdaffdaffda5fda5
I DEBUG : d28 3f3504f3bf3504f3 d29 bf3504f33f3504f3
I DEBUG : d30 4433681844aeb242 d31 3f3504f33f3504f3
I DEBUG : scr 2800009a
I DEBUG :
I DEBUG : #00 pc 000386a0 /data/data/xxxxxxx/lib/libffmpeg.so (av_packet_split_side_data)
I DEBUG : #01 lr 819c3748 /data/data/xxxxxxx/lib/libffmpeg.so
I DEBUG :
I DEBUG : libc base address: afd00000
I DEBUG :
I DEBUG : code around pc:
I DEBUG : 81838680 0a000012 e5941014 e351000c da00000f
I DEBUG : 81838690 e2411008 e30e09fe e0822001 e3480e25
I DEBUG : 818386a0 e5928000 e5929004 e1a01008 e1a02009
I DEBUG : 818386b0 e6bf2f32 e1838002 e1a06003 e1580000
I DEBUG : 818386c0 e6bf1f31 e1a07001 e1a09001 0a000002
I DEBUG :
I DEBUG : code around lr:
I DEBUG : 819c3728 e5933020 e3130020 1a000002 e5940014
I DEBUG : 819c3738 e3500000 0a00001c e1a00004 ebf9d3c4
I DEBUG : 819c3748 e595c078 e3a03000 e58d3004 e59c3020
I DEBUG : 819c3758 e3130901 1a000016 e58543a8 e1a00005
I DEBUG : 819c3768 e1a01007 e1a02006 e1a03004 e1a0e00f
I DEBUG :
I DEBUG : stack:
I DEBUG : 5257fdc8 00000000
I DEBUG : 5257fdcc 00631ed8
I DEBUG : 5257fdd0 00001004
I DEBUG : 5257fdd4 00001000
I DEBUG : 5257fdd8 00000007
I DEBUG : 5257fddc 0080a788
I DEBUG : 5257fde0 000017bd
I DEBUG : 5257fde4 81f08477 /system/lib/libOpenSLES.so
I DEBUG : 5257fde8 00632024
I DEBUG : 5257fdec 00000000
I DEBUG : 5257fdf0 05007ffc
I DEBUG : 5257fdf4 00000001
I DEBUG : 5257fdf8 00000018
I DEBUG : 5257fdfc afd464ec
I DEBUG : 5257fe00 0026e7f1
I DEBUG : 5257fe04 00000000
I DEBUG : #00 5257fe08 0026f4f6
I DEBUG : 5257fe0c afd13b69 /system/lib/libc.so
I DEBUG : 5257fe10 5257fe78
I DEBUG : 5257fe14 005a7300
I DEBUG : 5257fe18 5257fec4
I DEBUG : 5257fe1c 00630340
I DEBUG : 5257fe20 00000000
I DEBUG : 5257fe24 00000724
I DEBUG : 5257fe28 81de8c6c
I DEBUG : 5257fe2c 819c3748 /data/data/xxxxxxxx/lib/libffmpeg.so
I DEBUG : 5257fe30 0026f4f6
I DEBUG : 5257fe34 5257fe78
I DEBUG : 5257fe38 81de8c70
I DEBUG : 5257fe3c 5257fe78
I DEBUG : 5257fe40 81de8c70
I DEBUG : 5257fe44 81de4420
I DEBUG : 5257fe48 81de73c4
I DEBUG : 5257fe4c 00000000
I DEBUG : dumpstate /data/log/dumpstate_app_native.txt
I DEBUG : debuggerd committing suicide to free the zombie!
I DEBUG : debuggerd: Jan 5 2012 22:42:33

有没有人看到设备或特定 Android 版本有任何异常?或者有什么建议在哪里查看以及如何修复?

最佳答案

我有非常相似的问题 - ffmpeg 在解码数百帧后通过信号 7 (SIGBUS) 导致我的应用程序崩溃。它不是特定于设备的 - 在某些设备上,应用程序崩溃的频率更高,而在其他设备上则更少。

这对我来说是一个非常难以理解的问题,因为它可能在视频编码/解码的任何时候发生,而且我找不到任何导致失败的条件。但是我根据这篇有用的文章用 -malign-double 标志重新编译了 ffmpeg: http://software.intel.com/en-us/blogs/2011/08/18/understanding-x86-vs-arm-memory-alignment-on-android/ .它有帮助!所以我完整的“配置”行是(当然不是所有这些标志都对你有用):

./configure --target-os=linux --cross-prefix=arm-linux-androideabi- --disable-asm --arch=arm --cpu=cortex-a9 --sysroot=${SYSROOT} --enable-neon --disable-avdevice --enable-decoder=mjpeg --enable-demuxer=mjpeg --enable-parser=mjpeg --enable-demuxer=image2 --enable-muxer=mp4 --prefix=build/armeabi-v7a --extra-cflags='-DANDROID -I${NDK_ROOT}/sources/cxx-stl/system/include -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp' --extra-ldflags='-Wl,--fix-cortex-a8 -malign-double -L../android-libs -Wl,-rpath-link,../android-libs' --extra-cxxflags='-Wno-multichar -malign-double -fno-exceptions -fno-rtti'

希望对你有帮助。

关于android - SIGBUS 仅在三星 Galaxy S2 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com