Hey there,

I'm having an issue on debian 9's stable version of HAProxy :

https://dooby.fr/y/j9qgknb

I have to regularly reload haproxy to fetch new configurations, and it
now always result on a set of undying pids.

If I strace pid 2677 on this screenshot :
$ strace -p 2677
strace: Process 2677 attached
epoll_wait(0, [], 200, 18)              = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 12)              = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 14)              = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 13)              = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 121)             = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 6)               = 0
epoll_wait(0, [], 200, 0)               = 0
epoll_wait(0, [], 200, 22)              = 0

if I check what's going on on the network level for this pid :
$ ss -lntpuae |grep -i 'pid=2677'
udp    UNCONN     0      0         *:28382                
*:*                  
users:(("haproxy",pid=2677,fd=14),("haproxy",pid=2611,fd=14))
ino:1822334707 sk:aa61 -->

and I have nothing going on on that socket :

$ timeout 60 tcpdump -i any -w udp.out -vvvvX 'udp port 28382'
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture
size 262144 bytes
Got 0

My systemd.service file has only been edited to enlarge my fd :

[Unit]
Description=HAProxy Load Balancer
Documentation=man:haproxy(1)
Documentation=file:/usr/share/doc/haproxy/configuration.txt.gz
After=network.target syslog.service
Wants=syslog.service

[Service]
Environment="CONFIG=/etc/haproxy/haproxy.cfg" "PIDFILE=/run/haproxy.pid"
EnvironmentFile=-/etc/default/haproxy
ExecStartPre=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS
ExecStart=/usr/sbin/haproxy-systemd-wrapper -f $CONFIG -p $PIDFILE
$EXTRAOPTS
ExecReload=/usr/sbin/haproxy -f $CONFIG -c -q $EXTRAOPTS
ExecReload=/bin/kill -USR2 $MAINPID
KillMode=mixed
Restart=always
LimitNOFILE=1048576


[Install]
WantedBy=multi-user.target


So I'm wondering what's going wrong on a reload. The only solution that
I've found so far is to kick out my load balancer from the pool, stop
haproxy properly and start it again.


Reply via email to