cURL / Mailing Lists / curl-library / Single Mail


Re: Curl coredump in autobuild

From: Daniel Stenberg <>
Date: Fri, 29 Aug 2008 23:28:25 +0200 (CEST)

On Fri, 29 Aug 2008, Tor Arntsen wrote:

Hm, this caught my eye as something really fishy with that gdb output:

connect_host() declares a local variable on the stack called "protocol_done".
It then passes a pointed to that variable to the Curl_connect() function, and
that passes on *the same* pointer to setup_conn().

I read the code, I cannot see how the pointer can get destroyed between
Curl_connect()'s entry point and setup_conn(). Now check the back trace:

> #3 0x04044a60 in setup_conn (conn=0x4061197, hostaddr=0x6171808,
> protocol_done=0x303c1 <Address 0x303c1 out of bounds>) at url.c:4449
> #4 0x0404255c in Curl_connect (data=0x4699078, in_connect=0xbe9f24bc,
> asyncp=0xbe9f2494 "", protocol_done=0xbe9f2498 "") at url.c:4525
> #5 0x0404d49d in connect_host (data=0x4061197, conn=0x6171808) at
> transfer.c:2357

This would indicate that Curl_connect() is somehow destroying that variable or
destroying its own stack or similar.

Perhaps you can set a break-point in there for the failing test and see how
things look when Curl_connect() gets called and the following functions that
will be used from that point onwards.

Received on 2008-08-29