分析UDP连接偶尔失效的原因
发布时间
阅读量:
阅读量
问题表现分析
在程序“重启”过程中,偶尔会出现异常终止的情况,具体表现为udp connect操作失败,但一旦成功启动,整个程序的运行状态则完全正常。
当发生故障时,系统会生成coredump文件,其特征为断言失败:
(gdb) bt
#0 0x00007ff031e28f45 in raise () from /lib64/libc.so.6
#1 0x00007ff031e2a340 in abort () from /lib64/libc.so.6
#2 0x00007ff031e22486 in __assert_fail () from /lib64/libc.so.6
#3 0x0000000000418e0b in dmp::detec::DnsResolver::NewSock (this=0x43cb5aa0, dns_addr_idx=0) at src/detec_dns_resolver.cpp:129
相关代码(detec_dns_resolver.cpp:129)如下:
assert(connect(fd, (sockaddr*)_dnsinfo[dns_addr_idx]._dns_addr, sizeof(sockaddr_in)) == 0);
备注: 对于需要多次使用的udpsocket,在
全部评论 (0)
还没有任何评论哟~
