[ANNOUNCE] haproxy 1.3.18

From: Willy Tarreau <w#1wt.eu>
Date: Sun, 10 May 2009 21:56:37 +0200


Hello,

I got a report of a crashed process for 1.3.17 on x86_64 from Yan Qiao at Rocket Fuel Inc, who kindly provided me with the core. The first one in all those years! It was caused by a missing initialization of a variable which is never touched... until the struct has exactly the same size as another one and both can share their pools. In practise, building 1.3.17 for x86_64 on Red Hat Enterprise 5 with default options makes your struct session exactly 1024 bytes. If you did so, you don't risk anything until you log with option httplog and you get very large requests which fill your logs and overwrite the field itself.

The solution is to upgrade to 1.3.18 which I have just released. It also fixes the longstanding issue of the old process which sometimes does not dies after a soft reload, since I had the opportunity to catch one at t20.com and attach a debugger to it to find the reason : calling free() from a signal handler is not a good idea at all...

I'd like to thank the persons with whom I could work on both issues in their respective environments. It's always much faster when you can get a core or plug a debugger on a live process !

That said, there are several other minor changes. The stats are now more readable, report max session rates and provide full 64-bit counters everywhere, so that larger sites will not see their session counters roll over every few days anymore. You know who you are :-)

It is now possible to forward invalid requests or responses without blocking them, but they will still be captured, allowing seamless application debugging. The config parser now warns about possibly unwanted ordering of ACLs or reqxxx/rspxxx. Several wrong printf() format strings have been fixed on error messages, they were wrong mostly on 64bit. The build process now supports an alternative architecture, and the RPM spec file has been cleaned.

The new header hashing LB algorithm from Benoit Plessis has been merged with minor syntax changes for better future convergence with ACLs. I also merged Maik Broemme's patch to add the original destination IP address in the X-Original-To header.

And last but not least, the doc has been massively cleaned up and reorganised for better readability and navigation. It also includes a summary at the beginning.

All users of 1.3.17 are invited to upgrade. I have also released 1.3.15.9 and 1.3.14.13 with all pending fixes (all minor). I believe these 2 versions will be the last ones in their respective branches, after 12 and 18 months of maintenance. That means that if a major problem surfaces, I'll fix them, but they won't receive any more minor fix.

As usual, you can fetch source, linux/x86 and solaris/sparc binaries here :

   http://haproxy.1wt.eu/download/1.3/

As a side note, some of you might have noticed that I'm far less responsive these weeks. I'm currently moving to a new flat and that takes a lot of time. Basically all my evenings and week-ends are devoted to packing my junk in boxes and visiting stores to buy minimal furniture. So don't feel sad if I don't reply to your mails, I have nothing against you :-) Prefer posting to the mailing list instead of me, because you have more chances to get a quick response there.

Regards,
Willy Received on 2009/05/10 21:56

This archive was generated by hypermail 2.2.0 : 2009/05/10 22:00 CEST