On Wed, Feb 10, 2010 at 10:56:14PM +0000, Nick Chalk wrote: > Thanks Willy, Krzysztof. > > 2010/2/10 Willy Tarreau <w...@1wt.eu>: > > Did you managed to fix the several remaining issues which could cause > > it to crash the process ? > > I believe so, following Cyril Bonté's suggestions last week. I'm still > testing it, though.
OK, we talked with Cyril about all the issues in this patch, so it's possible that you both finally got it right ! > 2010/2/10 Krzysztof Ol??dzki <o...@ans.pl>: > > On 2010-02-10 23:02, Willy Tarreau wrote: > >> Krzysztof Oledsky proposed a patch to make use of recv(MSG_PEEK) > >> in order to leave incomplete data in kernel buffers instead of consuming > >> it. I don't think it could have any side effect, you may want to try it. > >> It was about 3-4 weeks ago on the list. > > > > Yep, it is worth to try it, but it is still a dirty fix. I have idea how to > > make it right, but haven't been able to find time to do it, yet. > > Thanks - I'll try that tomorrow, and report my findings. Thanks! > What was confusing me was that the test would succeed a fair > proportion of the time! That's typical of such packet-based parsing. In general, a good way to check if this is what you're seeing is to slow down the machine you run haproxy on (run a few "while :; do :; done&" in parallel) then see if it starts working again, due to the fact that when haproxy gets the CPU, most of the time all packets have reached the kernel buffers. Regards, Willy