Idézet (Willy Tarreau <[email protected]>):

Hi Joe,

On Sun, Sep 19, 2010 at 12:38:48AM +0200, R.Nagy József wrote:
Okay so here it is, let it die (after just 71secs this time!) with
modified srces and socket stats:

fantastic !

Relevant message from debug window:
setsockopt: Connection reset by peer
[ALERT] 260/230253 (30302) : frontend_accept(): cannot set the socket
11 in non blocking mode. Giving up

2nd try:
setsockopt: Connection reset by peer
[ALERT] 260/232249 (31233) : frontend_accept(): cannot set the socket
7 in non blocking mode. Giving up

So it is in frontend.c.. (there it is, am a coder after all;))

Very nice, now we know that the FD does not get corrupted, but when haproxy
wants to use it, it's already closed on the other side. Probably that a TCP
rule causes a reject that closes the connection and that there is a possible
return path that escapes from the controlll, leading to frontend_accept()
trying to continue to use the closed FD.

I'll now try to find something in that spirit.

Also, it looks like only TCP is affected by this, because your unix-stream
connection worked like a charm, and used the same FD (7).

I don't see anything suspect in the traces, but they clearly help eliminate
wrong guesses.

Thanks Joe, I'll keep you informed if I find anything !

Thanks Willy,
Awaiting the discovery! :P
Willy







Reply via email to