遇到Fatal signal 11 二人台是什么求解答答

求大神帮助,关于 Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 1531
&来源:读书人网&【读书人网():综合教育门户网站】
求大神相助,关于 Fatal signal 11 (SIGSEGV) at 0x (code1), thread 1531这个问题在网上查找了较
求大神相助,关于 Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 1531这个问题在网上查找了较多的资料首先这是一个底层的错误有人说这个是因为多线程互斥的问题,要加synchronized有人说是因为jni问题不过都没有解决我的问题,我发觉很多人都提到个问题就是在2.x的系统就没有问题,放到4.x的系统就有问题了我的也是这样的,有哪位大牛知道这个是什么问题吗?有人说改SDl版本就可以了,这个怎么搞?
[解决办法]你在什么情况下报的这个错呢,把log帖一下吧2988人阅读
项目问题,目前已解决;在此记录。
前些天在调试Camera模块;发现相同的代码在厂家提供的环境里边编译、就是ok的,在我们的源码树中编译,将HAL库推进去后、就会signal 11退出。
( 4250): Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 4358 (CameraPreviewTh)
( 2366): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
( 2366): Build fingerprint: 'TV/tclm6/tclm6:4.2.1/V8-AML7601-LF1R001/:eng/test-keys'
( 2366): Revision: '32'
( 2366): pid: 4250, tid: 4358, name: CameraPreviewTh
&&& /system/bin/mediaserver &&&
( 2366): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr
r3 0000001e
sl 00000f00
fp 45498f00
sp 46054d80
lr 4410816f
3e3e3e2d2d2d2d2d
d19 bf66c168e3a87def
d20 3fc555533bceb625
d21 3ebea4d0
d23 bfe116
( 2366): backtrace:
/system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+195)
pc 0002d05b
/system/lib/hw/camera.meson6.so (android::V4LCameraAdapter::previewThread()+490)
/system/lib/hw/camera.meson6.so
/system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
pc 00010dcd
/system/lib/libutils.so
/system/lib/libc.so (__thread_entry+72)
pc 0000db64
/system/lib/libc.so (pthread_create+160)
( 2366): stack:
/system/lib/libc.so
/system/lib/libc.so (vfprintf+44)
/system/lib/hw/camera.meson6.so
/dev/video0
/system/lib/libc.so (printf+24)
/system/lib/hw/camera.meson6.so
/system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+30)
/system/lib/hw/camera.meson6.so
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/dev/video0
/system/lib/libutils.so (android::Thread::_threadLoop(void*)+96)
( 2366): memory near r2:
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffff I/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
ffffffff ffffffff ffffffff ffffffffI/DEBUG
( 2366): memory near fp:
45498ee0 ffffffff ffffffff ffffffff ffffffffI/DEBUG
45498ef0 ffffffff ffffffff ffffffff ffffffff
45498f00 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f10 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f20 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f30 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f40 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f50 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f60 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f70 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f80 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498f90 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498fa0 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498fb0 ffffffff ffffffff ffffffff ffffffff I/DEBUG
45498fc0 ffffffff ffffffff ffffffff..
1.分析其中的重要信息
/system/lib/hw/camera.meson6.so (yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)+157)
pc 0002d00b
/system/lib/hw/camera.meson6.so (android::V4LCameraAdapter::previewThread()+458)
pc 0002d0dd
/system/lib/hw/camera.meson6.so
/system/lib/libutils.so (android::Thread::_threadLoop(void*)+94)
pc 00010dcd
/system/lib/libutils.so
/system/lib/libc.so (__thread_entry+72)
pc 0000db64
/system/lib/libc.so (pthread_create+160)
2.代码跟踪
out/target/product/tclm6/obj/SHARED_LIBRARIES/camera.meson6_intermediates/LINKED
arm-none-linux-gnueabi-addr2line
-e camera.meson6.so
hardware/amlogic/camera/utils/util.cpp:157 & & &
////(*ptrdesty1++) = (*ptrsrcy1);在yuyv422_to_nv21(unsigned char*, unsigned char*, int, int)函数中
arm-none-linux-gnueabi-addr2line 0002d00b -e camera.meson6.so
hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:1571 &&
//// yuyv422_to_nv21(src,dest,width,height);&
arm-none-linux-gnueabi-addr2line 0002d0dd -e camera.meson6.so
hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:303 & &
////writefile((char*)SYSFILE_CAMERA_SET_PARA, (char*)&1&);
& & 从上边结果来看,在hardware/amlogic/camera/V4LCameraAdapter/V4LCameraAdapter.cpp:1571处调用yuyv422_to_nv21(src,dest,width,height)挂掉的可能性比较打;于是加如下log:
D/V4LCameraAdapter( 2371): TK-----------&&&&&src is 0x45d0f000
D/V4LCameraAdapter( 2371): TK----------&&&&&&dest is 0x0
D/V4LCameraAdapter( 2371): TK------------&&&&&width is 640
D/V4LCameraAdapter( 2371): TK---------&&&&&height is 480
& & 不难发现,上边dest指针为NULL、导致的signal 11。
& 通过对比编译环境发现,在dest赋值处;用到的头文件位置不同,导致结果差异。通过重新设置头文件路径,问题解决。
& 目前掌握的结局signal 11故障的方法是使用交叉编译工具链给我们提供的arm-none-linux-gnueabi-addr2line工具,通过地址定位源文件中出错的函数或具体行数。
四、补充:Fatal signal 8 (SIGFPE)
& 最近在帮助同事看一个打印堆栈问题时发现,程序并没有被kill掉
( 3254): Fatal signal 8 (SIGFPE) at 0x00000cb6 (code=0), thread 3254 (TVMSFserver)
( 2455): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
( 2455): Build fingerprint: 'TV/tclm6/tclm6:4.2.2/V8-AML7602-LF1V002/:eng/test-keys'
( 2455): Revision: '32'
( 2455): pid: 3254, tid: 3254, name: TVMSFserver
&&& TVMSFserver &&&
( 2455): signal 8 (SIGFPE), code -6 (?), fault addr 00000cb6
( 2439): ATVTunerSetStd, tuner std = 0xL2_COLOR_STD_PAL, V4L2_STD_PAL_DK).
r2 0000270f
r5 ffffffff
fp bed8ca2c
ip fffdc390
sp bed8c660
pc 400fc27c
cpsr 200a0010
2d2d2d2d7070632e
2d2d2d4b4341424c
d16 41d4e400c2003127
d17 3f5a9fc
d18 41cc382ea1800000
( 2455): backtrace:
pc 0001827c
/system/lib/libc.so (kill+12)
pc 0003a00c
/system/lib/libc.so (__aeabi_idiv0+8)
( 2455): stack:
/system/lib/libamplayer.so (ff_ps_init+1361)
/system/lib/libc.so (__aeabi_idiv0+12)
/data/test/libTVMSFService.so (android::postEventsFromhal(int, android::Parcel const*)+236)
/data/test/libdtvapi_dtv.so (std::basic_stringbuf&char, std::char_traits&char&, std::allocator&char& &::xsputn(char const*, int)+8)& 通过地址定位:
arm-none-linux-gnueabi-addr2line 0001827c -e libc.so
bionic/libc/arch-arm/bionic/kill.S:46
ENTRY(kill)
sp!, {r4-r7, ip, lr}
r7, =__NR_kill
sp!, {r4-r7, ip, lr}
//46行,恢复现场
__set_syscall_errno
& 后发现signal 8问题一般是由于除数为0导致,后问题解决;通过该问题分析:可能是因为signal 8后系统需要kill该进程、但没有kill成功。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:116037次
积分:3253
积分:3253
排名:第3641名
原创:219篇
转载:21篇
(5)(4)(4)(4)(10)(4)(9)(12)(5)(6)(10)(13)(9)(11)(6)(6)(4)(26)(7)(8)(8)(20)(17)(27)(4)(3)百度地图v2_3_5 Fatal signal 11 (SIGSEGV)异常 - Android开发 -
百度LBS开放平台 百度地图API论坛-LBS开放平台 - Powered by Discuz!
百度地图v2_3_5 Fatal signal 11 (SIGSEGV)异常
本帖最后由 山师移动门户 于
10:03 编辑
最近测试百度地图 经常会出现下面这个异常,
Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 5456 (Tmcom-MapData)
不过也确实奇怪,&&在使用 wifi的情况下 ,很容易出现这个异常,&&当使用 GPRS是不出出现这个问题.
有时启动 activity 可以成功,有时不可以.
这个是日志信息,大家帮忙分析 一下
帖子字数有限制,只能贴图片了.
本人联系方式 [图片]Q
附件: 您需要才可以下载或查看附件。没有帐号?
你好,感谢你的反馈,我们会测试一下,请留下您的联系方式,便于和您直接取得联系。
本帖最后由 燃魂书123 于
14:34 编辑
解决了吗?我也遇到这个问题
没有解决,我估计是百度后台服务的问题,在wifi 情况下会偶尔出问题,GRPS就没问题
& &何时能解决该问题,使用overlay时频繁出现,官方demo也闪退。
新版更新时解决。
& &新版何时更新
新版本和旧版本的api 变化太大,能否有好的兼容方案.如然程序又要完全重写,好多之前实现的功能用了新版本之后就不知道该怎么写了.
<td class="t_msgfont" id="postmessage_3 17:41:21.703: A/libc(26064): Fatal signal 11 (SIGSEGV) at 0x (code=1)
一样的问题。。。。。
A/libc(3336): Fatal signal 11 (SIGSEGV) at 0x (code=1), thread 3374 (Tmcom-MapData)
一样的问题,也不给个反馈。百度SDK没法用了
昨天试着用了最新的版本,但不兼容以前的。。。。
最新的百度 地图 看论坛里的反馈,貌似bug也是比较的多.
你好,该问题我们已经知道如何解决,将在下个版本修复,谢谢反馈!
jiayuanqwe
& &下个版本到什么时候?
目前有没有一个稳定的版本?
mMapView.onDestroy(); 把这些去掉就不会出现这种情况了,已实验,连续点了n次都没退,是何道理?
jiayuanqwe
& &炒了你们的产品经理吧!否则就立刻告诉我们什么时候更新版本!
baiyuliang2010
& &怎么解决?这几天郁闷死了。。。版本换来换去的也不行
jiayuanqwe
& &大神啊!求快点更新啊。[图片][图片]
baiyuliang2010
& &果真是,
jiayuanqwe
& &您好我也出现了这个问题 请问是什么原因导致的是否可以详细说明一下,我们已经上线的应用出现了这个问题 需要及时修复这个问题
本帖最后由 山师移动门户 于
16:49 编辑
被爱突然袭击
这个问题应该是程序本身的bug,所以说明了你自己也无法解决.不知道百度是如何做测试的,这么明显的bug,看来确实够草率的.程序错误在c/c++部分,因为需要自己管理内存,所以很容易就会出现内存泄露的问题,或数组越界问题.我自己写这部分都是反复多线程测试,没问题才会上线.
快更新,写的代码烂,还不动作快点,勤能补拙没听过啊
百度的有没有解决方法,受不了了,我整个应用都需要地图做技术支持....什么情况?李彦宏!!!!!
我也出现此问题了,求解决方法
这么多天了连点动静都没有,程序员都干什么去了!
mMapView.onDestroy(); 把这些去掉就不会出现这种情况了,已实验,连续点了n次都没退,是何道理? ...
baiyuliang2010 发表于
& & 果真是!去掉了就ok,暴力测试50多次正常[图片]
[通过 QQ、MSN 分享给朋友]
用户名请填写用户名不超过7个汉字,或14个字节,且不能是纯数字温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
阅读(793)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Android错误: 模拟器自动重启 - Fatal signal 11 (SIGSEGV) at 0x',
blogAbstract:'  这些天在Android 4.0下调试一个Android小程序时遇到AVD模拟器自动重启的错误,表现为在SurfaceView的OnTouch事件里调用另一个Activity时,模拟器即自动重启,且屡试不爽。出现这个现象时,我试了直接用startActivity通过Intent直接启动另一Activity,也试了在SurfaceView里发消息到Main Activity里再用startActivity启动另一Activity,都一样会出现自动重启的错误。但是,我在Android 2.3模拟器环境里测试,却又不会出现自动重启的问题!估计这是Android 4.0模拟器的一个bug。  仔细检查LogCat,发现有“Fatal signal 11 (SIGSEGV) at 0x”这样的错误提示,网上查了都说是什么野指针引起的错误,似乎对我遇到的问题没有太大帮助,百思不得其解。',
blogTag:'',
blogUrl:'blog/static/8',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:7,
permalink:'blog/static/8',
commentCount:1,
mainCommentCount:1,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
解决方案(android-ndk) - 推酷
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): Build fingerprint: 'i.Kan/full_godbox/godbox:4.0.3/IML74K/eng.mipt.435:eng/test-keys'
05-06 15:59:44.911: I/DEBUG(3344): pid: 3347, tid: 3348 &&&& com.nef.xxx &&&
05-06 15:59:44.911: I/DEBUG(3344): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
05-06 15:59:44.911: I/DEBUG(3344): &r0 deadbaad &r1 00d9c060 &r2
05-06 15:59:44.911: I/DEBUG(3344): &r4
&r6 415bf010 &r7
05-06 15:59:44.911: I/DEBUG(3344): &r8 415bf018 &r9
100ffb94 &fp 100ffbd8
05-06 15:59:44.911: I/DEBUG(3344): &ip ffffffff &sp 100ffb50 &lr
05-06 15:59:44.911: I/DEBUG(3344): &d0 &eaaaaab &d1 &3ff000
05-06 15:59:44.911: I/DEBUG(3344): &d2 &457fffff &d3 &0000
05-06 15:59:44.911: I/DEBUG(3344): &d4 &00001fff &d5 &3fea
05-06 15:59:44.911: I/DEBUG(3344): &d6 &3ff0 &d7 &3eaaaaab3f800000
05-06 15:59:44.911: I/DEBUG(3344): &d8 &0000 &d9 &0000
05-06 15:59:44.911: I/DEBUG(3344): &d10 0000 &d11 0000
05-06 15:59:44.911: I/DEBUG(3344): &d12 0000 &d13 0000
05-06 15:59:44.911: I/DEBUG(3344): &d14 0000 &d15 0000
05-06 15:59:44.911: I/DEBUG(3344): &scr
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#00 &pc
&/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#01 &pc 00007d8e &/system/lib/libcutils.so (mspace_free)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#02 &pc
&/system/lib/libdvm.so (_Z21dvmHeapSourceFreeListjPPv)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#03 &pc 00042f88 &/system/lib/libdvm.so
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#04 &pc 00032fc8 &/system/lib/libdvm.so (_Z22dvmHeapBitmapSweepWalkPK10HeapBitmapS1_jjPFvjPPvS2_ES2_)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#05 &pc 00042f44 &/system/lib/libdvm.so (_Z27dvmHeapSweepUnmarkedObjectsbbPjS_)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#06 &pc 000336ac &/system/lib/libdvm.so (_Z25dvmCollectGarbageInternalPK6GcSpec)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#07 &pc 0007bc1c &/system/lib/libdvm.so
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#08 &pc
&/system/lib/libdvm.so
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#09 &pc 00012e04 &/system/lib/libc.so (__thread_entry)
05-06 15:59:45.011: I/DEBUG(3344): & & & & &#10 &pc
&/system/lib/libc.so (pthread_create)
05-06 15:59:45.011: I/DEBUG(3344): code around pc:
05-06 15:59:45.011: I/DEBUG(3344): 3b15c 2c6d1fb b12368db &\.#F$h.,..&..h#.
05-06 15:59:45.011: I/DEBUG(3344): 14a17 02527 &.J.!zD.`.G.H'%.$
05-06 15:59:45.011: I/DEBUG(3344): fee60 eeeef7f5 460aa901 &.p..`..!.......F
05-06 15:59:45.011: I/DEBUG(3344): f0
eab8f7f5 &. O..S..........
05-06 15:59:45.011: I/DEBUG(3344):
f5eac2 2106ee4c &..&F. ......L..!
05-06 15:59:45.011: I/DEBUG(3344): code around lr:
05-06 15:59:45.011: I/DEBUG(3344): f0e92d 7c24 &-..A.L.F.&|D$h.h
05-06 15:59:45.011: I/DEBUG(3344): cf9b5 dd022b00 47c04628 &gh.....0.+..(F.G
05-06 15:59:45.011: I/DEBUG(3344): 44306 37fff117
d1ee2c00 &.CT5...7..$h.,..
05-06 15:59:45.011: I/DEBUG(3344): bd4630 bf283da 41f0e92d &0F..........-..A
05-06 15:59:45.011: I/DEBUG(3344):
fb01b086 fc &.........H.F.F.F
05-06 15:59:45.011: I/DEBUG(3344): memory map around addr deadbaad:
05-06 15:59:45.011: I/DEBUG(3344): be97c000-be99d000 [stack]
05-06 15:59:45.011: I/DEBUG(3344): (no map for address)
05-06 15:59:45.011: I/DEBUG(3344): ffff0000-ffff1000 [vectors]
05-06 15:59:45.011: I/DEBUG(3344): stack:
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb10 &4009965c &/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb14 &00d9c060 &[heap]
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb18 &00000a96 &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb1c &4006fecd &/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb20 &4009970c &/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb24 &4009e85c &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb28 & &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb2c & &/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb30 & &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb34 &100ffb64 &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb38 &415bf010 &/dev/ashmem/dalvik-heap (deleted)
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb3c & &
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb40 &415bf018 &/dev/ashmem/dalvik-heap (deleted)
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb44 &4007028d &/system/lib/libc.so
05-06 15:59:45.011: I/DEBUG(3344): & & 100ffb48 &df0027ad &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb4c & &
05-06 15:59:45.021: I/DEBUG(3344): #00 100ffb50 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb54 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb58 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb5c & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb60 &00cf2780 &[heap]
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb64 &fffffbdf &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb68 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb6c & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb70 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb74 &40018d91 &/system/lib/libcutils.so
05-06 15:59:45.021: I/DEBUG(3344): #01 100ffb78 &00cf2780 &[heap]
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb7c &4162fe00 &/dev/ashmem/dalvik-heap (deleted)
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb80 &100ffcf4 &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb84 & &
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb88 &415bf018 &/dev/ashmem/dalvik-heap (deleted)
05-06 15:59:45.021: I/DEBUG(3344): & & 100ffb8c & &/system/lib/libdvm.so
05-06 15:59:45.661: I/BootReceiver(1265): Copying /data/tombstones/tombstone_01 to DropBox (SYSTEM_TOMBSTONE)
05-06 15:59:45.671: I/DEBUG(3344): debuggerd committing suicide to free the zombie!
05-06 15:59:45.671: I/DEBUG(3440): debuggerd: Apr 28 :17
05-06 15:59:45.681: D/Zygote(917): Process 3347 terminated by signal (11)
05-06 15:59:45.681: I/ActivityManager(1265): haveBgApp:true app.setAdj:10
05-06 15:59:45.681: I/ActivityManager(1265): Process com.nef.xxx (pid 3347) has died.
05-06 15:59:45.681: W/ActivityManager(1265): Scheduling restart of crashed service &com.nef.xxx/.service.renderService in 5000ms
05-06 15:59:48.241: D/PowerManagerService(1265): Screen must keep ON all the time! TimeoutTask return.
05-06 15:59:50.691: D/dalvikvm(3441): Late-enabling CheckJNI
05-06 15:59:50.701: I/ActivityManager(1265): Start proc com.nef.xxx for service com.nef.xxx/.service.renderService: pid=3441 uid=10009 gids={}
05-06 15:59:50.721: I/dalvikvm(3441): Turning on JNI app bug workarounds for target SDK version 9...
这个错误并不是再调用某个jni接口的时候发生的
而是反复调用之后(或是上层进行了一些其他操作后)冷不丁的蹦出来
程序虽然没有弹框,但进程已经挂了
这种随机问题最难搞了,很难确定哪行代码出的问题
于是各种百度谷歌寻求解决方案
其中最重要的错误信息是&
Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
网上也有很多人都遇到类似的问题
主要症结还是内存操作的问题
在经过各种排查测试后,折腾了老半天
终于找到问题所在,的确是内存操作有误
在jni里,我想把jbyteArray转化成char*
于是写了个转化函数,原型如下:
char* ConvertJByteaArrayToChars(JNIEnv *env, jbyteArray bytearray,
jbyte *&bytes)
char *chars = NULL;
bytes = env-&GetByteArrayElements(bytearray, 0);
chars = (char *)
int chars_len = env-&GetArrayLength(bytearray);
chars[chars_len] = 0;
问题就出在
chars[chars_len] = 0;
假如GetByteArrayElements返回的是abc
则chars_len值为3
而chars[3]=0就等于是数组越界访问修改了
这样无形当中就破坏了堆内存给程序留下安全隐患
到特定时候就会触发错误爆发
后函数改为:
char* ConvertJByteaArrayToChars(JNIEnv *env, jbyteArray bytearray,
jbyte *&bytes)
char *chars = NULL;
bytes = env-&GetByteArrayElements(bytearray, 0);
int chars_len = env-&GetArrayLength(bytearray);
chars = new char[chars_len + 1];
memcpy(chars, bytes, chars_len);
chars[chars_len] = 0;
就没有问题了
在调用函数处处理了char*之后再delete掉就ok了
哎,C++的指针真是让人又爱又恨
以后大家遇到类似问题
还是好好检查下native代码
看看有没有指针操作不当的问题
指针有风险,用时需谨慎
仅以此文小记,希望对大家有帮助~
已发表评论数()
&&登&&&陆&&
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见

我要回帖

更多关于 fatal signal 11 的文章

 

随机推荐