Thank you,

Now I'm sure that the connection is establish. I see also that HAProxy
close the connection 3seconds later, according with the timeout.

Now the hard work begin :) I can't reproduce the bug.

I agree your conclusion, the error message "Can't connect" is found
only once in the HAProxy Lua code. It is in the yield function, so I
guess that the yield function is wake up after the 3seconds timeout.

I don't known why.

Can you send your complete configuration file ? or a configuration
wihich reproduce the problem ?

Thanks
Thierry



On Tue, 1 Sep 2015 12:49:22 -0400
Michael Ezzell <[email protected]> wrote:

> You *can* reproduce the error?  I feel better already.
> 
> 
> > Can you run a tcpdump for validating the TCP connection establishment ?
> >
> 
> It looks pretty much as expected. Is this what you wanted?
> 
>  73  69.516276 10.10.10.10 -> 10.20.20.20 TCP 74 44748 > http [SYN] Seq=0
> Win=26883 Len=0 MSS=8961 SACK_PERM=1 TSval=833894013 TSecr=0 WS=128
>  74  69.516893 10.20.20.20 -> 10.10.10.10 TCP 74 http > 44748 [SYN, ACK]
> Seq=0 Ack=1 Win=26847 Len=0 MSS=8961 SACK_PERM=1 TSval=20615574
> TSecr=833894013 WS=128
>  75  69.516909 10.10.10.10 -> 10.20.20.20 TCP 66 44748 > http [ACK] Seq=1
> Ack=1 Win=27008 Len=0 TSval=833894013 TSecr=20615574
>  93  72.517981 10.10.10.10 -> 10.20.20.20 TCP 66 44748 > http [FIN, ACK]
> Seq=1 Ack=1 Win=27008 Len=0 TSval=833894764 TSecr=20615574
>  94  72.518672 10.20.20.20 -> 10.10.10.10 TCP 254 [TCP segment of a
> reassembled PDU]
>  95  72.518689 10.10.10.10 -> 10.20.20.20 TCP 66 44748 > http [ACK] Seq=2
> Ack=190 Win=28032 Len=0 TSval=833894764 TSecr=20616324
> 
> 
> Also a quick hack of src/hlua.c to discover which of the three
> possibilities is causing the error reveals that in
> hlua_socket_connect_yield()...
> 
> if (!hlua || !socket->s || channel_output_closed(&socket->s->req)) {
> ...the condition being matched and prompting the "Can't connect" error
> appears to be !socket->s.

Reply via email to