cURL / Mailing Lists / curl-users / Single Mail

curl-users

[ curl-Bugs-501223 ] https session cache full causes SEGV

From: <noreply_at_sourceforge.net>
Date: Wed, 09 Jan 2002 01:22:20 -0800

Bugs item #501223, was opened at 2002-01-09 01:22
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=100976&aid=501223&group_id=976

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Cris Bailiff (crisb)
Assigned to: Nobody/Anonymous (nobody)
Summary: https session cache full causes SEGV

Initial Comment:
When I try to fetch a series of https pages with curl,
I get a segfault once I've gone past 5 different https
hosts:

e.g:

curl https://216.168.252.86/ https://207.46.197.100/
https://www.microsoft.com/ https://www.verisign.com/
https://lc2.law13.hotmail.passport.com/
https://www.modssl.org/

This segfaults once it gets to www.modssl.org. If you
just use the same URL 6 times, its OK.

This is on 7.9 and 7.9.2 with different SSL versions
and in different locations:

curl 7.9 (i386-redhat-linux-gnu) libcurl 7.9 (SSL
0.9.5)

Backtrace: (actually, I'm using perl-Curl-easy in this
trace:)

testing https://www.modssl.org/ verify=0 at level 0
expect pass

Program received signal SIGSEGV, Segmentation fault.
0x400aaff0 in chunk_free (ar_ptr=0xc3815b00,
p=0x4019b958) at malloc.c:3051
3051 malloc.c: No such file or directory.
(gdb) bt
#0 0x400aaff0 in chunk_free (ar_ptr=0xc3815b00,
p=0x4019b958) at malloc.c:3051
#1 0x400aaf9a in free () at malloc.c:2952
#2 0x40217a46 in CRYPTO_free () from
/usr/lib/libcrypto.so.0
#3 0x401d7ee3 in SSL_SESSION_free () from
/usr/lib/libssl.so.0
#4 0x401ad8e8 in Kill_Single_Session () from
/usr/lib/libcurl.so.2
#5 0x401ada15 in Store_SSL_Session () from
/usr/lib/libcurl.so.2
#6 0x401ade48 in Curl_SSLConnect () from
/usr/lib/libcurl.so.2
#7 0x401a4081 in Curl_http_connect () from
/usr/lib/libcurl.so.2
#8 0x401ab063 in Connect () from /usr/lib/libcurl.so.2
#9 0x401ab104 in Curl_connect () from
/usr/lib/libcurl.so.2
#10 0x401b357a in Curl_perform () from
/usr/lib/libcurl.so.2
#11 0x401b3979 in curl_easy_perform () from
/usr/lib/libcurl.so.2
#12 0x4019969d in XS_Curl__easy_perform () from
/usr/lib/perl5/site_perl/5.005/i386-linux/auto/Curl/easy/easy.so
#13 0x80889e8 in Perl_pp_entersub ()
#14 0x80b342d in Perl_runops_standard ()
#15 0x8059338 in perl_run ()
#16 0x8057841 in main ()
#17 0x400699cb in __libc_start_main () at
../sysdeps/generic/libc-start.c:122

On another system:

curl 7.9.2 (i686-mandrake-linux-gnu) libcurl 7.9.2
(OpenSSL 0.9.6b)

This time, backtracing the plain 'curl' command above:
Program received signal SIGSEGV, Segmentation fault.
0x40099488 in CRYPTO_add_lock () from
/usr/lib/libcrypto.so.0
(gdb) bt
#0 0x40099488 in CRYPTO_add_lock () from
/usr/lib/libcrypto.so.0
#1 0x00000000 in ?? ()
(gdb) q

Sorry, not many symbols here! I'm not absolutely
certain its the same fault... I'll try and re-compile
this setup with debugging - its currently all from
standard RPMS - and get more info.

From the source of ssluse.c, it seems clear its a
problem around Kill_Single_Session, but its not
immediately obvious to me what it could be.

I'll add more when I've re-compiled with debugging.

Cris

----------------------------------------------------------------------

You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=100976&aid=501223&group_id=976
Received on 2002-01-09