NDK SBNew: Buffer OOM错误问题解决
来源:互联网 发布:三国志11知乎 编辑:程序博客网 时间:2024/04/28 14:27
DM642上使用异常现象,建立一个TCP监听端口,当向这个tcp端口连接时失败,DM642程序在CCS上提示的打印信息:
00008.106 SBNew: Buffer OOM
00008.681 SBNew: Buffer OOM
00009.298 SBNew: Buffer OOM
整个工程原先是可用,最近不知做什么修改才出现了这个问题,怀疑是NDK相关的库被修改了,查了一遍,无果。
还是得从打印信息出发,经查证,SBNew是一个内存分配函数,在stack.lib的sb.c文件里实现,SBNew: Buffer OOM就意味着内存分配不成功。
依据网络堆栈的思路调整了堆栈大小,最终把问题确定下来了,原来我们使用的socket buffer被修改得太大了,之前调试把buffer改成 0×100000,改回8704就ok了!
// Change our socket buffer size to 8704 bytes
rc =8704;//8760;// 0×100000;//
CfgAddEntry( hCfg, CFGTAG_IP, CFGITEM_IP_SOCKBUFMAX, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0 );
TI提供的DM642 NDK存在不少问题,使用时要十分小心!
================================================================================================
上面是转载林祥杰的个人博客的内容。
本人使用c6455进行开方,使用ndk1.92版本。
堆栈修改为8096byte,然后需要在bios config 的memory里面将stack的容量修改为0x10000
能够有效避免这个问题。当然本人出现OOM问题是在非正常的拔掉网线的时候产生的。
正常情况下不会发生这个问题。
- NDK SBNew: Buffer OOM错误问题解决
- Bitmap的OOM问题解决
- MapPartition一次oom问题解决
- 笔记71--OOM问题解决方案
- Bitmap OOM问题解决及优化
- Glide OOM问题解决方法汇总
- Android OOM错误解决方案
- socket+Protocol buffer 错误
- buffer overflow detected错误
- 使用android OpenGL时出现的java.lang.IllegalArgumentException: Must use a native order direct Buffer错误问题解决
- Android NDK下编译google protocol buffer
- 使用NDK编译Google Protocol Buffer
- LINUX内存高,触发OOM-KILLER问题解决
- LINUX内存高,触发OOM-KILLER问题解决
- LINUX内存高,触发OOM-KILLER问题解决
- Linux内存高,触发oom-killer问题解决
- Linux内存高,触发oom-killer问题解决
- Android处理图片报OOM的问题解决
- 1298. 数制转换
- window 应用程序启动监控及把应用程序提权作为服务
- Ubuntu-get使用指南
- 解析UTF8字符串,并截取每个字符到vector(C++代码)
- 2011年小结
- NDK SBNew: Buffer OOM错误问题解决
- The following types may not be used as proxies
- MFC combobox增加显示行数的方法
- 更改Android编译时的默认配置
- Eclipse安装SVN插件
- NHibernate 异常 No persister for 类名
- 设计模式
- wince 下有哪些可以玩的免费游戏软件?
- 自己动手写框架