一个关于POLL的BUG,百思不得其解
2017-09-29 08:39
429 查看
背景
系统:ubuntu 16.04 server 64bit该问题出现在HTTP流媒体服务器中,流媒体服务器一直监听服务SOCKECT,当有新的连接时,则读取请求内容,并根据请求内容作出相应回复。
问题是当客户端FD为1087,客户端连接数到达1044时服务器会异常退出,百思不得其解。
出错打印
出错打印使用GDB调试,也不能追踪到具体行数,看起来信息也是很奇怪*** stack smashing detected ***: /usr/local/bin/mscore terminated Thread 6 "dohrserver" received signal SIGABRT, Aborted. [Switching to Thread 0x7ffff1ac6700 (LWP 7772)] 0x00007ffff3c55428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
出错地方
经过多次调试终于定位到问题出现在poll函数接口,但原理一直没想明白!!!int ff_network_wait_fd_timeout(int fd, int write,int retrytime) { int ev = write ? POLLOUT : POLLIN; struct pollfd p = { .fd = fd, .events = ev, .revents = 0 }; int ret=0; do{ ret = poll(&p, 1, 100);/*100ms*/ if(ret!=0) break;/*fd ready or errors*/ }while(retrytime-->0); if(!(retrytime>0)){ ret=-1; } return ret ; }
相关文章推荐
- VS2005中的一个小BUG:关于Dropdownlist无法Datadinding的解决方法。
- 关于VC++6.0中getline函数的一个bug
- mysql5.1 系列 关于用户授权的一个bug
- WPF关于WindowInteropHelper的一个BUG
- 关于一个困扰一晚上的bug -- java 返回值问题
- 关于UGUI Image Sliced模式的一个BUG。
- .NET framework 一个关于OleDbParameters的Bug
- 关于ListView和ViewPager的一个Bug
- 一个关于C#语言中的Property的低级BUG,花了我二十分钟
- 关于CAD2008的一个bug
- 关于一个交叉引用Bug:“can not find interface declaration”
- 【找bug有奖励】:关于加密算法的一个bug,知道答案评论对了支付宝奖励5块
- 一个关于Delphi XML处理单元的BUG
- 关于LB论坛的一个BUG的探讨
- 发现 ASP.Net 的一个关于"回车提交"的 Bug ? 必须多于一个 Text 域"回车提交",Server: ButtonX_Click 才能截获!
- ASP.NET ImageButton/Image 控件关于border的一个诡异的BUG及其解决方案
- 由一个bug引起的关于list的思考
- 关于javascript中parseInt函数的一个所谓的bug
- 关于google的gson-2.3.1.jar,发现一个奇怪的bug
- 关于一个bug的解决