Hi David, On Thu, Feb 11, 2010 at 05:52:24PM -0800, David Birdsong wrote: > Sorry for the radio silence. I took some time off to go skiing.
no prob. > but then i just straced haproxy while traffic was plummetting, i > should have done this a long time ago: > splice(0x14, 0, 0xf, 0, 0xffffffffffffffff, 0x3) = -1 EINVAL (Invalid > argument) This one was fixed 3 months ago : commit a9de333aa58e6cb76f08a50e8ba2c5931184068f Author: Willy Tarreau <w...@1wt.eu> Date: Sat Nov 28 07:47:10 2009 +0100 [BUG] stream_sock: BUF_INFINITE_FORWARD broke splice on 64-bit platforms Yohan Tordjman at Dstorage found that upgrading haproxy to 1.4-dev4 caused truncated objects to be returned. An strace quickly exhibited the issue which was 100% reproducible : 4297 epoll_wait(0, {}, 10, 0) = 0 4297 epoll_wait(0, {{EPOLLIN, {u32=7, u64=7}}}, 10, 1000) = 1 4297 splice(0x7, 0, 0x5, 0, 0xffffffffffffffff, 0x3) = -1 EINVAL (Invalid argument) 4297 shutdown(7, 1 /* send */) = 0 4297 close(7) = 0 4297 shutdown(2, 1 /* send */) = 0 4297 close(2) = 0 > # ldd /usr/local/sbin/haproxy > linux-vdso.so.1 => (0x00007fff017ff000) > libc.so.6 => /lib64/libc.so.6 (0x00007ffe705dd000) > /lib64/ld-linux-x86-64.so.2 (0x00007ffe7094f000) > > this is built from: haproxy-1.4-dev4 Ah here's the reason. it was fixed between 1.4-dev5 and 1.4-dev6. You should definitely upgrade to 1.4-rc1, it has many such issues fixed, including this one of course ! Regards, Willy