We recently updated our linux kernel from 4.14.19 to 4.14.22, and now haproxy 
hangs forever in a system call:

$ ps -lfC haproxy
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
1 D root      6308  6242  0  80   0 - 14187 -      21:43 ?        00:00:00 
/usr/sbin/haproxy -f /test/etc/haproxy.conf -p /test/run/haproxy.pid

$ sudo cat /proc/6308/syscall
55 0x1 0x0 0x50 0x56315f9d9238 0x7ffc6ae52f9c 0x5a9873ee 0x7ffc6ae52f88 
0x7fd561c2512a

$ sudo cat /proc/6308/stack
[<0>] __lock_sock+0x79/0xc0
[<0>] lock_sock_nested+0x57/0x60
[<0>] 0xffffffffc07293da
[<0>] nf_getsockopt+0x47/0x70
[<0>] ip_getsockopt+0x7f/0xc0
[<0>] SyS_getsockopt+0x76/0xd0
[<0>] do_syscall_64+0x67/0x120
[<0>] entry_SYSCALL_64_after_hwframe+0x3d/0xa2
[<0>] 0xffffffffffffffff


It appears there was some minor tinkering with the locking of getsockopt() 
somewhere between these two kernel versions, but only haproxy seems to have 
issues with the new code.  Downgrading the kernel makes haproxy work again.

Anyone else seen this?  Is this fixed in a later version of haproxy?

Richard

________________________________

This email and any attachments may contain confidential and privileged material 
for the sole use of the intended recipient. Any review, copying, or 
distribution of this email (or any attachments) by others is prohibited. If you 
are not the intended recipient, please contact the sender immediately and 
permanently delete this email and any attachments. No employee or agent of TiVo 
Inc. is authorized to conclude any binding agreement on behalf of TiVo Inc. by 
email. Binding agreements with TiVo Inc. may only be made by a signed written 
agreement.

Reply via email to