cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Core dump in Curl_expire

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 9 Sep 2010 23:35:48 +0200 (CEST)

On Wed, 8 Sep 2010, Gautam Gopinadhan wrote:

> We are seeing the following core dump in the curl library.
>
> Curl version: 7.19.7

This is rather old by now and we've done a few larger changes and at least 141
bug fixes since then. Can you try the most recent libcurl and see if you still
experience this problem?

> Application: native application in C, linked statically with curl and cares
> Usage: easy interface with HTTP over SSL.

Can you repeat the problem at will? It would be really great for my
understanding of all this...

> #0 0x00000000004c8a84 in Curl_expire (data=0x1313131313131313, milli=0) at
> multi.c:2283

You're using a debug build of libcurl, right? memdebug.c:curl_dofree() fills
the memory with 0x13 before it frees it for real. That would indicate that
Curl_expire() is called on a SessionHandle that is already freed.

You should consider running your entire app with valgrind to see if you can
get it to halt earlier on the first memory related problem.

> So would the fix be?
>
> transfer.c:2521 result = Curl_done(connp, result, FALSE); /* we are so done
> with this */

I don't think so. The function is meant to use 'connp' further down when it
calls Curl_connect() and that's the function that is supposed to update that
variable. But I can't tell with 100% certainty...

Thanks a lot for your help.

-- 
  / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-09-09