cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: splay trees

From: Xavier Bouchoux <xavierb_at_gmail.com>
Date: Mon, 29 May 2006 16:00:25 +0200

so...

I did a cvs update, as I saz you added more debug info.
and the error log does trigger:

SPLAY curl_expire1<<<
SPLAY curl_expire1>>>
* Internal error clearing splay node = 1

It seems the crashing scenario is that
req1 is launched
req2 is launched
     --> at this point the splay tree only contains one entry while
two req are live.
req2 finished
     ---> at this point the splay tree is empty, while req1 is still live.
req1 finishes
     --> oops the splay tree doesn't contain it
req3 is launched
     -> the looped tree is produced

Maybe an other cause of the problem is that req1 and req2 both connect
to the same server ip but with a different port. (443 and 80)

Here is the relevant part of the log:
.....
* STATE: INIT => INIT handle 0x8b958f4:
* STATE: INIT => CONNECT handle 0x8b958f4:
* About to connect() to ladder.trackmanianations.com port 443
* Expire at 1148906498 / 668085 (300000ms)
SPLAY curl_expire3<<<
SPLAY curl_expire3>>>
1148906498[0]
* Trying 195.246.254.132... * STATE: CONNECT => WAITCONNECT handle 0x8b958f4:
SPLAY curl_expire2<<<
1148906498[0]
SPLAY curl_expire2>>>
* Expire at 1148906498 / 668506 (300000ms)
SPLAY curl_expire3<<<
SPLAY curl_expire3>>>
1148906498[0]
* STATE: INIT => INIT handle 0x8b95aa4:
* STATE: INIT => CONNECT handle 0x8b95aa4:
* About to connect() to ladder.trackmanianations.com port 80
* Expire at 1148906498 / 778185 (300000ms)
SPLAY curl_expire3<<<
SPLAY curl_expire3>>>
1148906498[0]
* Trying 195.246.254.132... * STATE: CONNECT => WAITCONNECT handle 0x8b95aa4:
SPLAY curl_expire2<<<
1148906498[0]
SPLAY curl_expire2>>>
* Expire at 1148906498 / 778451 (300000ms)
SPLAY curl_expire3<<<
SPLAY curl_expire3>>>
1148906498[0]
* Connected
......
Received on 2006-05-29