Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3661 (ervice.Executor)

前言:当我们在android中的使用JNI下编译的.so库时,很有可能底层编译好的native method出现异常,而且底层并没有对这个异常进行捕捉,这样在我们APK上就是表现为退出程序,查看打印信息,出现的提示是:A/libc(2730): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3661 (ervice.Executor)。这个是由android linux 内核libc函数抛出的一个打印,从上面我们只能知道内存操作问题。可是具体什么原因,我们确无从下手。我们在eclipse中的All message 中可以查看在fatal 11下面还有如下打印信息:

每个pc后面,我们都含有一个地址,这个地址其实就对应着我们的JNI下面的方法,由此,只要我们将地址发编译回去,就可以获得报错的原因的地方。下面,我将使用一种工具arm-eabi-addr2line来反编译上述地址。

方法:首先我们要将arm-eabi-addr的环境搭建好。我用的是vi .bashrc

在其中插入(按下insert or i :

export PATH=$PATH:/home/lyn/hsp/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin

导入之后,按下Esc键 输入:wq保存退出。记住还要source ~/.bashrc。然后,在输入下arm-linux-androideabi-addr2line,结果若下图打印,则环境搭好啦!

反编译:好啦,终于到了最令人兴奋的时刻,我们在命令行敲下如下代码:

下面是我们要注意的点:

1.我们要将你的libxxxxx.so库复制到你的bin文件下,注意不是libs下的libxxx.so库,这样子你会得到??:0的结果。而是把JNI下/obj/local/armeabi/libxxxx.so库复制到你的bin文件下。

2.用哪一个libxxxx.so库是根据最上面/system/lib/libpjsipjni.so来决定的。

3.如果你还出现??:0的情况,那么你可能用的是release版本,那就改为debug版本把!在jni/目录下增加Application.mk 文件, 修改为debug 模式,进行调试 APP_OPTIM := debug具体application.mk 文件的配置见:

http://blog.csdn.net/weidawei0609/article/details/6561280

参考网址:

http://blog.csdn.net/hun_sunny/article/details/8350151

时间: 2024-11-08 17:19:16

Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 3661 (ervice.Executor)的相关文章

Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1) 错误 解决方案(android-ndk)

在android里做ndk编程的时候,碰到个随机性错误 错误信息如下: 05-06 15:59:44.411: A/libc(3347): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)05-06 15:59:44.911: I/DEBUG(3344): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***05-06 15:59:44.911: I/DEBUG(3344):

求大神相助,关于 Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1531

============问题描述============ 这个问题在网上查找了较多的资料 首先这是一个底层的错误 有人说这个是因为多线程互斥的问题,要加synchronized 有人说是因为jni问题 不过都没有解决我的问题,我发觉很多人都提到个问题 就是在2.x的系统就没有问题,放到4.x的系统就有问题了 我的也是这样的,有哪位大牛知道这个是什么问题吗? 有人说改SDl版本就可以了,这个怎么搞? ============解决方案1============ 你在什么情况下报的这个错呢,把log帖

Fatal signal 11 (SIGSGV) at 0x00002820 (code=1),thread 23696 (xvdy.oa:vitamio)

修这个bug真的让人生不如死的感觉,太苦逼了! 首先叙述一下我的报错环境:在这里,我是在做一个视频播放软件.然后在编程过程中其他都是OK的,也就是说,我所做的这个视频播放如果使用第一次进入的时候,对播放任何的电影视频都不会报错崩掉.但是,由于我所要完成的这个视频播放要求较高(要播放连续剧).在当前页面点击连续剧的选集要进行当前选中的视频进行切换.然后,问题就出现了!党正在播放当前选集然后点击其他任何一集都会报错而崩掉!!并报错上面图片的错误...... 然后在网上收索了好多的帖子,都和我的情况不

关于cocos2dx 3.0升级崩溃报错(unable to load native library) 和(Fatal signal 11 (SIGSEGV) at 0x00000000)

最近一直在Windows平台开发cocos-2dx游戏,期间做了一次引擎升级,升级到了3.0正式版本.Windows平台上表现很正常,没有出现什么问题. 上周五准备发布一个安卓包,编译很轻松的就过了,没有花费多少时间,但是安装到手机后,发现运行就崩溃了.没办法只好用模拟机调试,再次吐槽Android的模拟器,真的太他妈慢了,不到万不得已我真的不想再去用它,google真的应该好好整一下了. 好不容易运行起来了,看到崩溃的时候logcat的报错是"unable to load native lib

Android:Fatal signal 11 (SIGSEGV), code 1, fault addr

游戏出现死机,错误为: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xfffffffc in tid 9811 (GLThread 205) 或者 signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfffffffc 解决方案: 1.继续往下查看日志,知道类似下面这条: #00 pc 0085ed5e  /data/app/cn.kvu.doudizhu-1/lib/arm/libcoc

Fatal signal xx (SIGSEGV) at

Fatal signal 11问题的解决方法 http://blog.csdn.net/tankai19880619/article/details/9004619 Fatal signal xx (SIGSEGV) at xxxxxx 错误定位代码的解决方法 http://zzhhui.blog.sohu.com/266543920.html Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 25427 (pool-1-threa

[cocos2d-x][apk打包][Fatal signal 11][andriod]Eclipse编译Fatal signal 11报错-都是字符赋值惹的祸

流程重现: 使用coco2d-x制作了一个2048,在xcode模拟器运行以及在pad上真机调试都是没有问题的,但是在使用eclipse调试打包android能够运行,但是进入游戏之后会在随机的地方闪退,debug模式报错为: 10-20 11:48:36.413: A/libc(17408): Fatal signal 11 (SIGSEGV) at 0x68d7b0b8 (code=2), thread 17426 (Thread-7958) 在网上查到关于这个问题的n中说法,包括andro

NDK 编译armebai-v7a的crash Fatal signal 7 (SIGSEGV) 错误解决

一直都是编译armabi的,没有任何问题,这个架构是软件模拟浮点运算的. 后来看到NDK文档上说armabi-v7a是针对有硬件处理浮点计算的arm cpu的. 于是就修改配置编译armebai-v7a的so文件. 结果是编译没问题,一运行就是crash掉,Fatal signal 7 (SIGSEGV)错误. 进过排查才发现,crash掉的仅仅是对一个浮点变量赋值而已. 只不过,这个浮点内存,是一个连续内存中的一部分. 经过排查才发现,这个so文件使用了浮点指令,需要指针4字节对齐.举个例子

call to OpenGL ES API with no current context 和Fatal signal 11

近日在用cocos2dx3.4的时候使用了JNI调用,发现一个现象 当不使用jni的时候完全正常,使用了jni后回去的所有文字都变成黑块,并且有概率程序崩溃,附带出了两个log call to OpenGL ES API with no current context  和 Fatal signal 11 但同样的cocos2dx ,同样的jni代码,另一个项目却正常.找寻了好久之后发现了原因 cocos2dx 3.x以后版本 不再是一个进程跑到底: 引用:"Cocos2d-x从2.x版本到上周