Sorry to report, from 1.3.21: Oct 13 23:36:43 haf1a kernel: haproxy[25428]: segfault at 19 ip 000000000041620f sp 00007ffff381ef60 error 4 in haproxy[400000+3d000]
(I know, kind of old, as we were running 1.3.18 on this box, so not sure which version the problem started) Compiled with: make TARGET=linux26 USE_LINUX_TPROXY=1 Seems to crash on the standby box too fairly quickly which only generates it's own traffic for checks, so it should be easy to reproduce. > -----Original Message----- > From: Willy Tarreau [mailto:w...@1wt.eu] > Sent: Monday, October 12, 2009 1:52 AM > To: haproxy@formilux.org > Subject: [ANNOUNCE] haproxy 1.4-dev4 and 1.3.21 > > Hello, > > OK they're both released today : 1.3.21 and 1.4-dev4 > > 1.3.21 contains all the minor fixes and improvements I talked > about last week, plus a few ACLs that were missing (ability to > match on a backend's queue length). > > I'd like it if distro maintainers would update to 1.3.21, as some > of them are still in 1.3.19 which contains the bug that can cause > a crash on missing timeout. Also, given we have not fixed a single > major bug between .20 and .21, I think it proves that we have reached > a high level of stability and newer 1.3 versions should become rare. > Even 1.4 remains very stable, which is nice, considering the amount > of changes it has received. I think that the internal architecture > changes have helped a lot to get rid of many tricks that were needed > to get something to work in old versions. > > 1.4-dev4 has received some eye-candy updates to the stats page, > mostly coming from Krzysztof. Precise server health status is now > reported there, which can be very convenient for finding why a server > is seen as down. Stats can be reported per listening socket, which > is very convenient when you have multiple ISP accesses and are able > to create one "bind" line for each of them. Take a look at the demo > page, I have splitted IPv4 and IPv6 for instance. > > Also, we now have the ability to clear the stats without restarting, > as well as to change a server's weight live without restarting (which > includes setting its weight to zero to disable it). > > Another change concerns the load-balancing algorithms. They have > been reorganized and a new hasing method was implemented : consistent > hashing[1]. This was already discussed several months ago, but I was > against it since it would cost a lot of CPU. I finally found how to > implement it with trees so that it's cheap. The advantage of this > hashing method is that you can add or remove servers with limited > redistribution. This is mainly used for caches, where we don't want > a cache failure to suddenly redistribute all the objects to caches > which don't have them. The hash is not as smooth as the old one, > but still not bad at all. The hashing method can be selected using > the new "hash-type" keyword. This rework was the opportunity to > reintroduce the old static round-robin algorithm, which has the > advantage over the dynamic one to support more than 4000 servers > (I know some people already have close to 1000 servers in a single > backend). > > Next development version should focus a bit on QoS and on improved > detection of failures. > > As usual, sources, doc and binaries for 1.3 are available here : > > http://haproxy.1wt.eu/download/1.3/ > > And sources for 1.4 are available here : > > http://haproxy.1wt.eu/download/1.4/ > > > Happy update, > Willy > > [1] http://www.spiteful.com/2008/03/17/programmers-toolbox-part-3- > consistent-hashing/ > > > No virus found in this incoming message. > Checked by AVG - www.avg.com > Version: 8.5.421 / Virus Database: 270.14.9/2427 - Release Date: > 10/11/09 18:34:00