libcurl 使用的一个错误

转载时请注明出处和作者联系方式:http://blog.csdn.net/mimepp

作者联系方式:YU TAO <yut616 at sohu dot com> 

关键字: libcurl, liboauth, kpfs, __longjmp_chk, CURLOPT_NOSIGNAL

近来遇到一个 libcurl crash 的问题,这里记录一下。

出错的 log:

*** longjmp causes uninitialized stack frame ***:
kpfs.svn/src/.libs/lt-kpfs terminated
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(__fortify_fail+0x45)[0xb74c7dd5]
/lib/i386-linux-gnu/libc.so.6(+0xffd2a)[0xb74c7d2a]
/lib/i386-linux-gnu/libc.so.6(__longjmp_chk+0x4b)[0xb74c7c9b]
/usr/lib/i386-linux-gnu/libcurl-nss.so.4(+0x9f15)[0xb7577f15]
[0xb7741400]
[0xb7741424]
/lib/i386-linux-gnu/libpthread.so.0(sem_wait+0x45)[0xb76fbcc5]
/lib/libfuse.so.2(fuse_session_loop_mt+0xe4)[0xb75d8354]
/lib/libfuse.so.2(fuse_loop_mt+0x27)[0xb75dc297]
/lib/libfuse.so.2(+0x16b35)[0xb75deb35]
kpfs.svn/src/.libs/lt-kpfs[0x804936b]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb73e14d3]
kpfs.svn/src/.libs/lt-kpfs[0x804941d]
======= Memory map: ========
查到是需要在使用 libcurl 时,将 signal 全部关闭: curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1),否则的话,出现解析 DNS 超时后,会引起 libcurl crash。

检查 liboauth 也有增加这个内容,但需要打开:--with-curltimeout,详细见:

http://code.google.com/p/kpfs/wiki/why_and_how_to_compile_install_liboauth_0_9_5

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值