免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1602 | 回复: 1
打印 上一主题 下一主题

[FastDFS] 请教fish~~ fastdfs 使用中报Bad file descriptor错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-11-03 10:50 |只看该作者 |倒序浏览
目前我需要在项目中用到fastdfs,项目总体架构用的是多线程模型,每个线程都会和tracker server建立一个socket连接,当这个socket连接被tracker server主动关闭之后,使用过程有时候会报“file: connection_pool.c, line: 130, connect to 192.168.59.132:22122 fail, errno: 9, error info: Bad file descriptor”这样的错误

下面是core的信息:
  1. <div>Program terminated with signal SIGSEGV, Segmentation fault.</div><div>#0  0x00007f132e9e0d4c in __GI__IO_str_overflow (fp=0x7f132c390ab0, c=91) at strops.c:146</div><div>146     strops.c: No such file or directory.</div><div>(gdb) bt</div><div>#0  0x00007f132e9e0d4c in __GI__IO_str_overflow (fp=0x7f132c390ab0, c=91) at strops.c:146</div><div>#1  0x00007f132e9df60c in __GI__IO_default_xsputn (f=0x7f132c390ab0, data=<optimized out>, n=1) at genops.c:480</div><div>#2  0x00007f132e9add10 in _IO_vfprintf_internal (s=s@entry=0x7f132c390ab0, format=format@entry=0x7f132d019be0 "[%04d-%02d-%02d %02d:%02d:%02d.%03d] ", </div><div>    ap=ap@entry=0x7f132c390bd8) at vfprintf.c:1340</div><div>#3  0x00007f132e9d48fb in __IO_vsprintf (string=0x0, format=0x7f132d019be0 "[%04d-%02d-%02d %02d:%02d:%02d.%03d] ", args=args@entry=0x7f132c390bd8) at iovsprintf.c:42</div><div>#4  0x00007f132e9b8507 in __sprintf (s=<optimized out>, format=format@entry=0x7f132d019be0 "[%04d-%02d-%02d %02d:%02d:%02d.%03d] ") at sprintf.c:32</div><div>#5  0x00007f132d004679 in doLogEx (bNeedLock=true, bNeedSync=false, text_len=115, </div><div>    text=0x7f132c390d90 "file: connection_pool.c, line: 130, connect to 192.168.59.132:22122 fail, errno: 9, error info: Bad file descriptor", </div><div>    caption=0x7f132d019700 "ERROR", tv=0x7f132c390ce0, pContext=0x7f132d2248a0 <g_log_context>) at logger.c:975</div><div>#6  log_it_ex2 (pContext=pContext@entry=0x7f132d2248a0 <g_log_context>, caption=caption@entry=0x7f132d019700 "ERROR", </div><div>    text=text@entry=0x7f132c390d90 "file: connection_pool.c, line: 130, connect to 192.168.59.132:22122 fail, errno: 9, error info: Bad file descriptor", text_len=115, </div><div>    bNeedSync=bNeedSync@entry=false, bNeedLock=bNeedLock@entry=true) at logger.c:1021</div><div>#7  0x00007f132d005a1e in logError (format=format@entry=0x7f132d01baa0 "file: connection_pool.c, line: %d, connect to %s:%d fail, errno: %d, error info: %s")</div><div>    at logger.c:1232</div><div>#8  0x00007f132d013801 in conn_pool_connect_server (pConnection=0x7f1314003eb0, connect_timeout=<optimized out>) at connection_pool.c:128</div><div>#9  0x00007f132fc8648f in tracker_connect_server_ex (pTrackerServer=pTrackerServer@entry=0x7f1314003eb0, connect_timeout=<optimized out>, </div><div>    err_no=err_no@entry=0x7f132c3916bc) at ../tracker/tracker_proto.c:444</div><div>#10 0x00007f132fc8939b in tracker_get_connection_ex (pTrackerGroup=0x6aed30 <g_tracker_group>) at tracker_client.c:84</div><div>#11 0x000000000040f1cc in get_img_fastdfs (req=0x7f1324004d70, request=0x7f1324000de0, record_item=0x7f13240051d0) at /home/sky/fileserver/src/zfastdfs.c:74</div>
复制代码




系统环境是ubuntu14
看之前的帖子说需要加锁,加锁的话效率势必会受很大的影响,请问有没有办法维持和tracker的连接或者捕获这样的异常?
谢谢。

论坛徽章:
0
2 [报告]
发表于 2016-11-03 16:03 |只看该作者
自己已解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP