潜伏的BUG
分类:
比较早的一个部署问题了,
将sapp替换老的start平台,在pag网卡上跑不起来,报pag_open()错误,摆在面前的两个铁铮铮的事实:
1-之前老的start平台没有问题
2-使用驱动提供的pag/samples例子也没有问题
那网卡厂商肯定不管了,意思就是"你们新升级的版本有问题"!
那就找问题吧,start, pag/samples都行,收包都正常,说明驱动主要功能没问题,
把pag_open()代码移动到main函数的最开始,没问题了,
那基本断定,sapp的某些初始化代码,与pag_open()函数冲突了。
最后不断尝试,移动多次位置,
最终发现pag在初始化时,竟然限制应用打开的文件fd数,超过32个就不行了(这什么神逻辑?),
因为sapp需要初始化发包接口, 同时支持ipv4和ipv6,当开启超过16个线程时,就超过32个fd了,
将线程数改为小于16个,果然也没问题。
问题找到,找网卡厂商沟通解决。
根据这件事,
推翻了一个所谓的经验:
原来用的都正常,自测程序也正常,换了新版就不行,肯定是新版有问题!
得到一个新的经验:
即使是跑了若干年的程序,一直正常运行,可能是BUG凑巧没被触发而已!
查看评论
暂无评论