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.

