作者****:yu tao
關鍵字: 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,詳細見:
使用chttpfile的乙個錯誤
先貼一部分 需要提交資料的頁面 cstring strformdata username abc password 123 需要提交的資料 請求頭try catch cexception e cstring strsentence,strgetsentence if fileget afxmessa...
乙個使用的錯誤除錯方法
在visual c 中,可以在監視視窗新增 err,hr 一行來實時現實錯誤。除錯過程中,該項相當於在每次呼叫api函式之後呼叫getlasterror函式。其值由兩部分組成,乙個是錯誤 十六進製制 另乙個是錯誤 所對應的文字提示。安裝vs2010之後在安裝vs2008的msdn之後會出錯誤 解決辦...
多執行緒環境下libcurl的乙個Bug
今天運氣不錯,解決了兩個非常棘手的bug,這乙個是關於libcurl的。12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 0 0x4001e416 in kernel vsyscall 1 0x40491941 in rais...