From: Mike Hommey Date: Fri, 08 Feb 2008 21:51:40 GMT Subject: Re: [PATCH] Work around curl-gnutls not liking to be reinitialized Message-ID: <20080208215140.GA21362@glandium.org> In-Reply-To: <7vlk5vi0k9.fsf@gitster.siamese.dyndns.org> On Fri, Feb 08, 2008 at 01:46:14PM -0800, Junio C Hamano wrote: > Mike Hommey writes: > > >> In the end, it was a bit of git's fault, but either curl or gnutls is the > >> actual culprit. I've not looked into either code to find out who's > >> responsible, but a very simplified testcase is as follows: > >> ... > > > > And the winner is... curl ! > > The bug was introduced in this commit: > > http://cool.haxx.se/cvs.cgi/curl/lib/gtls.c.diff?r1=1.26&r2=1.27 > > Note how gtls_inited is not set back to FALSE in cleanup. > > > > This ended up released in 7.16.3. I'm filing a bug. > > Good detetive work. Thanks. > > I guess we need to ship with a known leak to work this around. > Sigh... We can probably add a test on curl versions to avoid leaking on every install. Something like #if LIBCURL_VERSION_NUM < 0x071003. And then add || LIBCURL_VERSION_NUM > .... whenever this is fixed in curl... Though, as I said, we are not calling http_cleanup in a lot of cases, already. Mike