vxworks中 select 异常

hevin163 2013-12-02 09:37:46
我在程序中建了一个基于select的tcp服务端,可支持多个客户端来连,有时候会出现select异常,如下

->
Exception number 14: Task: 0x3edd4d18 (tExcTask)

Page Fault
Program Counter: 0x003970a4
Status Register: 0x00010206
Error Code : 0x00000000
38ebce excTask +7e : selWakeupAll (3eddec6c, 0, 0, 0, 0, 0, 1c, ffffffff)
397169 selWakeupAll +79 : selWakeup (3eddec94, ffffffff, 3edd4c98, 397117)


然后导致tcp客户端任务退出失败,
-> tt tTcp_V
3cdc87 exit +47 : taskDestroy ([0, 1, ffffffff, 0, 0])
3cde12 taskDestroy +122: excJobAdd (&taskDestroy, 3eb556a4, 1, 0, 0, eeeeeeee, eeeeee
ee, eeeeeeee)
38eab5 excJobAdd +55 : msgQSend ([3edd4ee4, 3eb5561c, 1c, ffffffff, 0])
3caee9 msgQSend +239: qJobGet ([3edd4ee4, 3edd4f08, ffffffff, 0, 0])
value = 0 = 0x0

任务列表里还有(在shell里敲i),而实际上已经断开连接,请问应该怎么解决?
...全文
630 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanglisancn 2014-03-15
  • 打赏
  • 举报
回复
把源码和obj文件上传来看看。你的栈回溯有点乱,反汇编看看。 现在栈回溯的“ selWakeupAll”是在select模块的接口,这个接口在网络协议栈中调用。问题可能在网络协议栈,但VxWorks的协议栈应该不会存在问题。所以你把源码和obj文件上传,我看看?
hevin163 2014-03-13
  • 打赏
  • 举报
回复
引用 3 楼 m2b2x 的回复:
可能是栈空间不足,用taskSpawn启动任务,把栈空间设大点试试,默认是20000 bytes
但有时程序刚启动啥也没干,就出现异常了。。
__小灰灰 2014-01-22
  • 打赏
  • 举报
回复
可能是栈空间不足,用taskSpawn启动任务,把栈空间设大点试试,默认是20000 bytes
hevin163 2013-12-03
  • 打赏
  • 举报
回复
大侠们有遇到类似情况的吗?
hevin163 2013-12-02
  • 打赏
  • 举报
回复
tTcp_V是本机上的任务

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧