On Tue, Aug 21, 2018 at 07:00:39PM +0200, Cyril Bonté wrote: > Le 21/08/2018 à 18:36, Willy Tarreau a écrit : > > Cyril, > > > > if you want to test, please be sure to update to at least 1b13bfd as > > we've just added another fix on top of this series. > > OK, I was performing some tests, I've now updated with this patch. > It looks better as now I don't see anymore hangs, but some issues remain.
OK, FWIW I've finally addressed the remaining potential deadlock causes that could happen between checks and other operations on a same server around the rdv point. But your issues seem unrelated. (...) > OK, that one is my fault, I used a "listen" section for use_backend (maybe > we'll have to secure such configuration error to prevent segfaults). I don't see how it could be an issue, that's a completely supported config! You can even have this : listen a use_backend b if { prefer_b } listen b use_backend a if { prefer_a } So any reproducer would be interesting. > The good news : I kept a configuration with abns, but removed the proxy > protocol. Everything is working as expected. So, the proxy protocol looks > to have a main role in the buffer issue. Thanks for the diag. I don't remember changing anything around the proxy protocol, but it's possible that something subtle changed. Also it's not on the regular send/receive path so maybe I overlooked certain parts and broke it by accident when changing the buffers. Same here, if you have a small reproducer it will really help. I don't promise to work on it tomorrow though, I think I figured some of the stuff that needs to be done on the native HTTP part and I expected to work on it today but granted myself a distraction by looking at scary bugs. I must admit I was properly served :-) But now I really need to get back to the code to validate my ideas before they escape my mind. Cheers, Willy