Hi Willy and Jozsef,

Le lundi 20 septembre 2010 23:42:44, R.Nagy József a écrit :
> > (...)
> > 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 !

I don't know if it can help you but tonight I've installed a Freebsd in a VM 
and could easily reproduce the issue.
Let me know if you want me to test some patches so that Jozsef doesn't need to 
break his production traffic.

I'll try to find time next days to add some debugs to track the origin of the 
issue.

As a last test (and quite late one in the night so I must stop here :-)), at 
the "out_delete_cfd" label, if I replace "return -1" by "return 0", I don't 
reproduce the issue.

--
Cyril Bonté

Reply via email to