libcurl 使用的乙個錯誤

2021-06-09 21:38:21 字數 1230 閱讀 8765

作者****: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...