High CPU usage after upgrading Haproxy

I had 4 identical deployments of Haproxy 1.6.5 handling a steady 10-20k concurrent websocket connections each 24/7 with average CPU usage below 50%. A few days ago I decided to upgrade one of them to 1.6.9. The night after the CPU spiked over 70% for a couple of short periods. The next day I thought I should upgrade another server. Next night I had two servers sending me alerts. I’m thinking if I should revert the upgraded ones, try the 3 versions that I have skipped or just wait for the next stable release?
The CPU usage is similar with the older verisons under the same load until 20k connections have been reached. Above 20k the CPU usage goes way higher than the older versions at the same time serving the same clients with the same data.

Other than that, Haproxy is awesome! Keep on going!

BR,

Raido

Thanks for the report. There are no open issues in 1.6.9 afaik, so waiting for the next release is not going to help.

Can you provide some configurations snippets, the output of haproxy -vv and a description of what your setup looks like (like are you terminating lots of SSL traffic)?

Can you confirm you see the CPU usage in userspace (so directly from haproxy), not your system? Do you have the possibility to strace the process while the CPU usage is high?

Trying different releases between 1.6.5 and 1.6.9 would definitely help.

Most of the traffic (over 90%) is encrypted and haproxy does the SSL termination. All the servers are dual core with with 2 haproxy processes (nbproc 2). I included most of the configuration file, haproxy -vv command output and will post strace output too when I have done it.

haproxy.cfg
global
  log /dev/log  local0
  log /dev/log  local1 notice
  maxconn 64000
  nbproc 2
  spread-checks 4
  chroot /var/lib/haproxy
  user haproxy
  group haproxy
  daemon

tune.ssl.default-dh-param 2048
  ssl-default-bind-ciphers EECDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4
  ssl-default-bind-options no-tls-tickets


defaults
  log     global
  mode    http
  option  httplog
  option  dontlognull
  option  redispatch
  option  contstats
  option  http-server-close
  option  forwardfor
  retries 3
  maxconn 64000
  backlog 10000
  timeout connect          5s
  timeout client          25s
  timeout server          25s
  timeout tunnel         120s
  timeout http-keep-alive  1s
  timeout http-request    15s
  timeout queue           30s
  timeout tarpit          60s
  default-server inter 3s rise 2 fall 2
  load-server-state-from-file global
  errorfile 400 /etc/haproxy/errors/400.http
  errorfile 403 /etc/haproxy/errors/403.http
  errorfile 408 /etc/haproxy/errors/408.http
  errorfile 500 /etc/haproxy/errors/500.http
  errorfile 502 /etc/haproxy/errors/502.http
  errorfile 503 /etc/haproxy/errors/503.http
  errorfile 504 /etc/haproxy/errors/504.http


frontend public
  mode    http
  bind    *:80
  bind    *:443 ssl crt /etc/ssl/private/chain/chain.pem
  default_backend ws


backend ws
  balance leastconn

  option tcp-check
  tcp-check connect
  tcp-check send "GET /websocket HTTP/1.1\r\nHost:api2.scaledrone.com\r\nConnection:Upgrade\r\nUpgrade:websocket\r\nSec-WebSocket-Version:13\r\nSec-WebSocket-Key:haproxy\r\n\r\n"
  tcp-check expect string HTTP/1.1 101 Switching Protocols

  server ws1 ws1:2000 weight 10 check
  server ws2 ws2:2000 weight 10 check
  server ws3 ws3:2000 weight 10 check
  server ws4 ws4:2000 weight 10 check
  server ws5 ws5:2000 weight 10 check
  server ws6 ws6:2000 weight 10 check
  server ws7 ws7:2000 weight 10 check
  server ws8 ws8:2000 weight 10 check
  server ws9 ws9:2000 weight 10 check
  server ws10 ws10:2000 weight 10 check
$ haproxy -vv
HA-Proxy version 1.6.9 2016/08/30
Copyright 2000-2016 Willy Tarreau <willy@haproxy.org>

Build options :
  TARGET  = linux2628
  CPU     = generic
  CC      = gcc
  CFLAGS  = -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2
  OPTIONS = USE_ZLIB=1 USE_REGPARM=1 USE_OPENSSL=1 USE_LUA=1 USE_PCRE=1

Default settings :
  maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200

Encrypted password support via crypt(3): yes
Built with zlib version : 1.2.8
Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip")
Built with OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
Running on OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.31 2012-07-06
PCRE library supports JIT : no (USE_PCRE_JIT not set)
Built with Lua version : Lua 5.3.1
Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND

Available polling systems :
      epoll : pref=300,  test result OK
       poll : pref=200,  test result OK
     select : pref=150,  test result OK
Total: 3 (3 usable), will use epoll.

Thanks. We are gonna need the strace to see what it is doing. Make sure you use the -tt option and attach it to the process that consumes a lot of CPU (strace -tt -p).

Here’s a small chunk of strace output (32k char post limit) I ran when both haproxy processes were using over 70% of the CPU core each. Running strace stole over 30% of CPU so haproxy’s CPU had to drop a bit. Load average was around 1.5.

Meanwhile another server with haproxy 1.6.5 consumed 35% CPU per process and load average was 0.7.

The 2 servers with high CPU usage are fully updated by the package manager. The second server hasn’t been updated for a few weeks but on the fourth server I updated haproxy alone. On that server, haproxy processes CPU usage is slightly higher, around 40% and load is around 1.0. This might be random because the traffic might not be 100% identical on all servers (different users listening to different events and different data floating around in them). I’ve attached the list of to-be-updated packages just in case. Fact is that the fully updated servers have significantly higher CPU usage compared to the unupdated one.

packages
The following packages will be upgraded:
  apport apt apt-transport-https apt-utils base-files bash-completion
  cloud-init collectd collectd-core collectd-utils curl dosfstools dpkg
  fontconfig fontconfig-config gnupg gpgv grub-common grub-pc grub-pc-bin
  grub2-common initramfs-tools initramfs-tools-bin isc-dhcp-client
  isc-dhcp-common language-pack-en language-pack-en-base libapt-inst1.5
  libapt-pkg4.12 libavahi-client3 libavahi-common-data libavahi-common3
  libc-bin libc6 libcollectdclient1 libcurl3 libcurl3-gnutls libdrm2 libexpat1
  libfontconfig1 libgcrypt11 libgd3 libharfbuzz0b libidn11 libldap-2.4-2
  libmysqlclient18 libnl-3-200 libnl-genl-3-200 libnspr4 libnss3 libnss3-nssdb
  libopenipmi0 libpq5 libxml2 libxrandr2 lsb-base lsb-release
  multiarch-support mysql-common openjdk-7-jre-headless openssh-client
  openssh-server openssh-sftp-server python3-apport python3-problem-report
  python3-update-manager tzdata tzdata-java update-manager-core
  update-notifier-common wget
strace output
18:44:05.747684 gettimeofday({1473878645, 748036}, NULL) = 0
18:44:05.748246 gettimeofday({1473878645, 748294}, NULL) = 0
18:44:05.748367 epoll_wait(0, {{EPOLLIN, {u32=7276, u64=7276}}}, 200, 99) = 1
18:44:05.748537 gettimeofday({1473878645, 748580}, NULL) = 0
18:44:05.748676 time(NULL)              = 1473878645
18:44:05.748897 read(7276, "\26\3\3\0F", 5) = 5
18:44:05.749099 read(7276, "\20\0\0BA\4\7\34\317\216\237 o}I\344{\10\374g<\37\356\366^\304\25C\217V\2407"..., 70) = 70
18:44:05.753852 read(7276, "\24\3\3\0\1", 5) = 5
18:44:05.754026 read(7276, "\1", 1)     = 1
18:44:05.754490 read(7276, "\26\3\3\0(", 5) = 5
18:44:05.754630 read(7276, "\257\344\32N\202t1b\301\354F\361\20\3147\206D\0312\240m1\177\315$T\36\336pr/\254"..., 40) = 40
18:44:05.755026 write(7276, "\24\3\3\0\1\1\26\3\3\0(\212\310\34x\254\20\232\317c%\275\2\1\274;\371@i'\272\22"..., 51) = 51
18:44:05.755321 read(7276, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.755555 gettimeofday({1473878645, 755603}, NULL) = 0
18:44:05.755676 epoll_wait(0, {{EPOLLIN, {u32=14909, u64=14909}}, {EPOLLIN, {u32=18595, u64=18595}}, {EPOLLIN, {u32=13828, u64=13828}}, {EPOLLIN, {u32=10725, u64=10725}}, {EPOLLIN, {u32=10293, u64=10293}}, {EPOLLIN, {u32=19543, u64=19543}}, {EPOLLIN, {u32=9642, u64=9642}}, {EPOLLIN, {u32=14898, u64=14898}}}, 200, 98) = 8
18:44:05.755861 gettimeofday({1473878645, 755972}, NULL) = 0
18:44:05.756077 read(14909, "\27\3\3\0\36", 5) = 5
18:44:05.756206 read(14909, "\0\0\0\0\0\0\0\v\262\373\4\23\2Y\21r\"Z`\33K\234\337\317\226s\241`*?", 30) = 30
18:44:05.756362 read(14909, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.756574 send(5384, "\212\200\375\377\227\244", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.756909 read(14898, "\27\3\3\1\303", 5) = 5
18:44:05.757101 read(14898, "\341\330\211\274;\237\257u\351\310>`\205\257\276P,\4O\372\27\1\205\316\3638\305\311\320\345\366\307"..., 451) = 451
18:44:05.757324 read(9642, "\27\3\3\0\36", 5) = 5
18:44:05.757487 read(9642, "\304\322\272_\23\237_\323\0\311\271\322\347\312\10c\36-\265\236\214\204\341\277^!\21\203\362\304", 30) = 30
18:44:05.757815 read(9642, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.757973 send(18596, "\212\200n%\235\261", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.758401 read(19543, "\27\3\3\0\36", 5) = 5
18:44:05.758529 read(19543, "K\363\216\323]lt)+\226RU\204\217~#\325\203\35\343\272\3\v\26\322#C\325\21\25", 30) = 30
18:44:05.758660 read(19543, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.758806 send(6522, "\212\200\362\22\370\304", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.759025 read(10293, "\27\3\3\0\36", 5) = 5
18:44:05.759155 read(10293, "\0\0\0\0\0\0\0\253M\3578\7\t\rw\2126\260\246\332\225\232Y.\365\201\344\203\305p", 30) = 30
18:44:05.759381 read(10293, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.759535 send(5209, "\212\2004,\274\376", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.759735 recv(10725, "\211\0", 16384, 0) = 2
18:44:05.759902 write(17412, "\27\3\3\0\32\307e\255\25[\252\343<\345\323\374\272B\352\310\250V\202\17cS\7\n\37\312\242", 31) = 31
18:44:05.760140 recv(13828, "\211\0", 16384, 0) = 2
18:44:05.760301 write(4874, "\27\3\3\0\32\351\265I\"#\304\314\331\373\275\30DyptSS\200;-\24\216\306z\0244", 31) = 31
18:44:05.760565 recv(18595, "\211\0", 16384, 0) = 2
18:44:05.760765 write(20990, "\27\3\3\0\32oU\267\376\320\215 \261\"N\16;eh\350\200E\264\276l} \221\266\327\270", 31) = 31
18:44:05.761045 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4385
18:44:05.761232 fcntl64(4385, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
18:44:05.761529 setsockopt(4385, SOL_TCP, TCP_NODELAY, [1], 4) = 0
18:44:05.761739 connect(4385, {sa_family=AF_INET, sin_port=htons(2000), sin_addr=inet_addr("10.128.21.102")}, 16) = -1 EINPROGRESS (Operation now in progress)
18:44:05.762053 gettimeofday({1473878645, 762161}, NULL) = 0
18:44:05.762258 epoll_wait(0, {{EPOLLIN, {u32=5112, u64=5112}}, {EPOLLIN, {u32=6883, u64=6883}}, {EPOLLIN, {u32=8, u64=8}}, {EPOLLIN, {u32=12603, u64=12603}}, {EPOLLIN, {u32=15154, u64=15154}}}, 200, 0) = 5
18:44:05.762462 gettimeofday({1473878645, 762512}, NULL) = 0
18:44:05.762666 send(4385, "GET /websocket HTTP/1.1\r\nUpgrade"..., 460, MSG_DONTWAIT|MSG_NOSIGNAL) = 460
18:44:05.762849 recv(15154, "\211\0", 16384, 0) = 2
18:44:05.763035 write(4090, "\27\3\3\0\32\320H*\222\f\265\330\307><\37P\310\236\222\343\337i\261\353\21t\357T0\310", 31) = 31
18:44:05.763329 recv(12603, "\211\0", 16384, 0) = 2
18:44:05.763491 write(14702, "\27\3\3\0\32\267\254\252\302\330\215\307\356\346\261h\365\21PS:&)\262\231R\303\313c\0\265", 31) = 31
18:44:05.763706 accept4(8, {sa_family=AF_INET, sin_port=htons(37298), sin_addr=inet_addr("85.49.223.151")}, [16], SOCK_NONBLOCK) = 4963
18:44:05.763989 setsockopt(4963, SOL_TCP, TCP_NODELAY, [1], 4) = 0
18:44:05.764323 accept4(8, 0xbfd6367c, [128], SOCK_NONBLOCK) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.764505 time(NULL)              = 1473878645
18:44:05.764663 read(4963, "\26\3\1\0\301\1\0\0\275\3\3", 11) = 11
18:44:05.764901 time(NULL)              = 1473878645
18:44:05.765043 read(4963, "W\331\232u\345\372_qOP3M\367\301}\2265\25\367P\225\333\221\343A^R\226[\21%\256"..., 187) = 187
18:44:05.765210 time(NULL)              = 1473878645
18:44:05.765532 time(NULL)              = 1473878645
18:44:05.795498 write(4963, "\26\3\3\0]\2\0\0Y\3\3x)7\347U\313UG2DW,q\247\352\242\313\10\34I\347"..., 2931) = 2931
18:44:05.795708 read(4963, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.795823 recv(6883, "\211\0", 16384, 0) = 2
18:44:05.795978 write(17379, "\27\3\3\0@\363\360\244\314\273\244*\271B\2229\35\260\25\203\262\35&\223\0\312|\355\340\245t\357"..., 69) = 69
18:44:05.796111 read(5112, "\27\3\3\1\320", 5) = 5
18:44:05.796281 read(5112, "\243\357\205\262}M}\10\333%\v\272\347\223\235p\303\31.\30\225\25\367\215sL\311\235^\303W\344"..., 464) = 464
18:44:05.796389 read(14898, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.796559 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 21184
18:44:05.796650 fcntl64(21184, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
18:44:05.796729 setsockopt(21184, SOL_TCP, TCP_NODELAY, [1], 4) = 0
18:44:05.796808 connect(21184, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("10.128.147.99")}, 16) = -1 EINPROGRESS (Operation now in progress)
18:44:05.796990 epoll_ctl(0, EPOLL_CTL_ADD, 4963, {EPOLLIN|EPOLLRDHUP, {u32=4963, u64=4963}}) = 0
18:44:05.797145 epoll_ctl(0, EPOLL_CTL_DEL, 5112, {0, {u32=5112, u64=5112}}) = 0
18:44:05.797228 gettimeofday({1473878645, 797255}, NULL) = 0
18:44:05.797298 epoll_wait(0, {{EPOLLIN, {u32=19979, u64=19979}}, {EPOLLIN, {u32=18157, u64=18157}}, {EPOLLIN, {u32=6366, u64=6366}}, {EPOLLIN, {u32=6993, u64=6993}}, {EPOLLIN, {u32=3214, u64=3214}}, {EPOLLIN, {u32=1526, u64=1526}}, {EPOLLIN, {u32=9147, u64=9147}}, {EPOLLIN, {u32=4985, u64=4985}}, {EPOLLIN, {u32=6411, u64=6411}}, {EPOLLIN, {u32=2387, u64=2387}}, {EPOLLIN, {u32=10858, u64=10858}}, {EPOLLIN, {u32=1044, u64=1044}}, {EPOLLIN, {u32=13393, u64=13393}}, {EPOLLIN, {u32=7351, u64=7351}}, {EPOLLIN, {u32=16762, u64=16762}}, {EPOLLIN, {u32=8265, u64=8265}}, {EPOLLIN, {u32=21849, u64=21849}}, {EPOLLIN, {u32=11011, u64=11011}}, {EPOLLIN, {u32=37, u64=37}}, {EPOLLIN, {u32=1424, u64=1424}}, {EPOLLIN, {u32=7539, u64=7539}}, {EPOLLIN, {u32=6985, u64=6985}}}, 200, 0) = 22
18:44:05.797519 gettimeofday({1473878645, 797549}, NULL) = 0
18:44:05.797639 recv(4385, "HTTP/1.1 101 Switching Protocols"..., 15360, 0) = 129
18:44:05.797746 recv(6985, "\211\0", 16384, 0) = 2
18:44:05.797859 write(2917, "\27\3\3\0\32\334sru\306^mN\255\243<\371\245s\373_\212\206\17\25\27\204\7\351O ", 31) = 31
18:44:05.797981 read(7539, "\27\3\3\0\36", 5) = 5
18:44:05.798103 read(7539, "\0\0\0\0\0\0\00066\220\247Id\ns\251\233\240>\200H0\204\10\363w\33`E\36", 30) = 30
18:44:05.798257 read(7539, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.798357 send(5286, "\212\200\7N\tz", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.798454 read(1424, "\27\3\3\0\36", 5) = 5
18:44:05.798530 read(1424, "\0\0\0\0\0\0\0\16\320\325\307\37\364S\227k\31.(\1H\20\23\\\\5 7j\t", 30) = 30
18:44:05.798715 read(1424, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.798860 send(15691, "\212\20060\377\330", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.798990 read(37, "\27\3\3\1\341", 5) = 5
18:44:05.799069 read(37, "\351\242\215\16\213r}o7\1\250o\1*\374\254\0211\21\256\224\363\3p\6\374\322\201\3646\363\37"..., 481) = 481
18:44:05.799172 recv(11011, "\211\0", 16384, 0) = 2
18:44:05.799322 write(7488, "\27\3\3\0\32\1`\364\323\r\356\337\330\206\331\275\n<\253\4\246T\t\2059O\203\310\35\213\340", 31) = 31
18:44:05.799448 read(21849, "\27\3\3\0@", 5) = 5
18:44:05.799530 read(21849, "u+\261E\200\32v\2338S\360\254\260i\250\264u\24\256n\327K\22\246;p\217\202\200\207\306\311"..., 64) = 64
18:44:05.799646 read(21849, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.799741 send(21888, "\212\200\1fsU", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.799862 recv(8265, "\211\0", 16384, 0) = 2
18:44:05.799968 write(870, "\27\3\3\0\32V~\321\254h3\5\32]\220\243\244B\3456\277\273-D\360Af\2O\210\7", 31) = 31
18:44:05.800090 read(16762, "\27\3\3\0\36", 5) = 5
18:44:05.800170 read(16762, "\0\0\0\0\0\0\0\26U}\243\352\276\240}*Z)\10H\22b\0211\375\3564\257ZW", 30) = 30
18:44:05.800253 read(16762, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.800436 send(15080, "\212\200\26\360i\342", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.800579 recv(7351, "\211\0", 16384, 0) = 2
18:44:05.800715 write(55, "\27\3\3\0@X\32V\240\22041\246\255\367A'\367\334\220}O\216.&\227\335E\224Vn\220"..., 69) = 69
18:44:05.800852 recv(13393, "\211\0", 16384, 0) = 2
18:44:05.800946 write(4747, "\27\3\3\0\32j\324MCy\352!\336\305\316\312~\30\346\2\350\310l\10\350\201\267@]\0\245", 31) = 31
18:44:05.801072 recv(1044, "\211\0", 16384, 0) = 2
18:44:05.801177 write(4496, "\27\3\3\0\32\313\201\251\20\300\217.\306\\\213\321\16P\371yt7u\372\264\261\256\220\302\235Q", 31) = 31
18:44:05.801295 read(10858, "\27\3\1\0 ", 5) = 5
18:44:05.801373 read(10858, "\251\355~\v$\215\367\277A0\350\271w\275\353W\307\261\267\276\1\306\227\312\340x\307\302\276\242p\25", 32) = 32
18:44:05.801475 read(10858, "\27\3\1\0 ", 5) = 5
18:44:05.801551 read(10858, "\n|\27\267\237=\373\250\344\313k\3\325`\350=\202\30iU_\366\251\0c\276\201\322z\206\355v", 32) = 32
18:44:05.801650 read(10858, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.801744 send(12405, "\212\200\344\22672", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.801866 recv(2387, "\211\0", 16384, 0) = 2
18:44:05.802009 write(14420, "\27\3\3\0\32\314\220\360x\342\31\334\257F\326\2237\354\344\225\221\314O\255YLPP\10\343\220", 31) = 31
18:44:05.802190 read(6411, "\27\3\3\0\36", 5) = 5
18:44:05.802278 read(6411, "\0\0\0\0\0\0\1\34\363\36\311\317\334K=\24\34\274\260S=D\224/NI\225\4O\n", 30) = 30
18:44:05.802361 read(6411, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.802451 send(9511, "\212\200\263\347~\337", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.802566 read(4985, "\27\3\3\0\36", 5) = 5
18:44:05.802645 read(4985, "f\252h\233\32\260O\342U\36\t\177qZ\235\177'NB\331\216G,\230\263\303r\200\267\32", 30) = 30
18:44:05.802726 read(4985, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.802857 send(2103, "\212\200!B\223\0", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.802983 recv(9147, "\211\0", 16384, 0) = 2
18:44:05.803075 write(8365, "\27\3\3\0\32\355\251\337*\234c\266YR\320\3231\236o\254\231re}5\254\0044\26\263\6", 31) = 31
18:44:05.803194 recv(1526, "\211\0", 16384, 0) = 2
18:44:05.803304 write(17764, "\27\3\3\0\32I`\16#\223\215\375V\35:\36\rn\n\304$\356|K\366\37\314Yq\244\344", 31) = 31
18:44:05.803456 recv(3214, "\211\0", 16384, 0) = 2
18:44:05.803565 write(12751, "\27\3\3\0\32\267N\7\262#\0\30G\314F\221\205\251\370\317\351/\356\355\177_\373\322+$\313", 31) = 31
18:44:05.803704 recv(6993, "\211\0", 16384, 0) = 2
18:44:05.803863 write(2470, "\27\3\3\0\0325\335\343\217\f\325\255`\343I3\366U\314\226\5AA<n\336\315\345W\241\313", 31) = 31
18:44:05.804005 recv(6366, "\211\0", 16384, 0) = 2
18:44:05.804113 write(15615, "\27\3\3\0\32\n\205g:\27]\374;\307\3312\0\226\232\210!\314\313&/\2446RO\342U", 31) = 31
18:44:05.804299 recv(18157, "\211\0", 16384, 0) = 2
18:44:05.804410 write(19927, "\27\3\3\0\32\t@\222C\313%\24^{\267\376\374\236\223\330\350(H\21\t\324L0F\204\352", 31) = 31
18:44:05.804597 recv(19979, "\211\0", 16384, 0) = 2
18:44:05.804820 write(8503, "\27\3\3\0\32\243\312\262\224\365\223\v\256\35\316\307\23\32F`9\205~\211\233\7eY\260x\344", 31) = 31
18:44:05.804939 send(21184, "GET /assets/scaledrone.min.js HT"..., 452, MSG_DONTWAIT|MSG_NOSIGNAL) = 452
18:44:05.805105 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 21962
18:44:05.805190 fcntl64(21962, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
18:44:05.805267 setsockopt(21962, SOL_TCP, TCP_NODELAY, [1], 4) = 0
18:44:05.805345 connect(21962, {sa_family=AF_INET, sin_port=htons(2000), sin_addr=inet_addr("10.128.19.166")}, 16) = -1 EINPROGRESS (Operation now in progress)
18:44:05.805505 gettimeofday({1473878645, 805538}, NULL) = 0
18:44:05.805584 epoll_wait(0, {{EPOLLIN, {u32=12168, u64=12168}}, {EPOLLIN|EPOLLRDHUP, {u32=11958, u64=11958}}, {EPOLLIN, {u32=1882, u64=1882}}, {EPOLLIN, {u32=4891, u64=4891}}, {EPOLLIN, {u32=2261, u64=2261}}, {EPOLLIN, {u32=2150, u64=2150}}, {EPOLLIN, {u32=3282, u64=3282}}, {EPOLLIN, {u32=3836, u64=3836}}, {EPOLLIN, {u32=20248, u64=20248}}}, 200, 0) = 9
18:44:05.805705 gettimeofday({1473878645, 805800}, NULL) = 0
18:44:05.805865 write(14898, "\27\3\3\0\231\2079\312u\311\352\22\213\302\211g\365\306\366\244\v\261Z\343\251\312\302e\343\315\212\212"..., 158) = 158
18:44:05.806034 recv(20248, "\211\0", 16384, 0) = 2
18:44:05.806306 write(19682, "\27\3\3\0\32KlW^\242\341\33q\263c\214\2028\275\261\23w\253nK\2217+\2026\22", 31) = 31
18:44:05.806464 read(3836, "\27\3\3\0\36", 5) = 5
18:44:05.806545 read(3836, "T\374\n5\342\211x\265[{.\226t\250\374o\305|\330\252\360\2155\224\324\306\270k\341\24", 30) = 30
18:44:05.806628 read(3836, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.806842 send(1337, "\212\200\323\332\37:", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.807069 read(3282, "\27\3\3\0\36", 5) = 5
18:44:05.807256 read(3282, "\0\0\0\0\0\0\0R\352\274\354tz\321\304}\330\211uv\334\266\262\324w\t\233rW\17", 30) = 30
18:44:05.807445 read(3282, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.807707 send(16303, "\212\200\272'\226\340", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.807856 read(2150, "\27\3\3\0\36", 5) = 5
18:44:05.807937 read(2150, "\10\254\322\350\316)V/\317\231X\177j*^\306\375\v\364\4zk\223_\336F\267P\350r", 30) = 30
18:44:05.808021 read(2150, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.808151 send(5898, "\212\200\200\225[\231", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.808282 recv(2261, "\211\0", 16384, 0) = 2
18:44:05.808374 write(7972, "\27\3\3\0\32BL\5\216S\252\244\317X\234n\177\211\7\211\245\214\275\5f\332\322\230V\265\n", 31) = 31
18:44:05.808571 read(4891, "\27\3\3\0\36", 5) = 5
18:44:05.808665 read(4891, "\0\0\0\0\0\0\1\27\203\3257H\6\320\17<'\224\346q\4\20\207\0\276_\206\225U\17", 30) = 30
18:44:05.808750 read(4891, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.808841 send(12758, "\212\200\242\345\340\211", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.808944 recv(1882, "\211\0", 16384, 0) = 2
18:44:05.809234 write(1255, "\27\3\3\0\32\341\1%A\6\345B\244\300\10\322\353\206\342jyE\351Y9\7x\312\4MH", 31) = 31
18:44:05.809375 read(11958, "", 5)      = 0
18:44:05.809478 read(12168, "\27\3\3\0\36", 5) = 5
18:44:05.809560 read(12168, "\207e\310}\24\210\372P\375C\252I\n\255\237\3016\215\300\234\37\315\376k\177\342\240n\371\214", 30) = 30
18:44:05.809645 read(12168, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.809735 send(9069, "\212\200\372o\355U", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.809855 recv(21184, "HTTP/1.1 304 Not Modified\r\nServe"..., 15360, 0) = 240
18:44:05.809946 read(37, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.810037 send(21962, "GET /websocket HTTP/1.1\r\nUpgrade"..., 489, MSG_DONTWAIT|MSG_NOSIGNAL) = 489
18:44:05.810272 recv(4385, 0xbf1d8680, 16384, 0) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.810362 shutdown(8468, SHUT_WR) = 0
18:44:05.810512 setsockopt(21184, SOL_SOCKET, SO_LINGER, {onoff=1, linger=0}, 8) = 0
18:44:05.810592 close(21184)            = 0
18:44:05.810787 epoll_ctl(0, EPOLL_CTL_DEL, 11958, {0, {u32=11958, u64=11958}}) = 0
18:44:05.810879 epoll_ctl(0, EPOLL_CTL_ADD, 4385, {EPOLLIN|EPOLLRDHUP, {u32=4385, u64=4385}}) = 0
18:44:05.810955 gettimeofday({1473878645, 810981}, NULL) = 0
18:44:05.811024 epoll_wait(0, {{EPOLLIN, {u32=18573, u64=18573}}, {EPOLLIN, {u32=3392, u64=3392}}, {EPOLLIN, {u32=8171, u64=8171}}, {EPOLLIN, {u32=9383, u64=9383}}, {EPOLLIN|EPOLLHUP|EPOLLRDHUP, {u32=8468, u64=8468}}}, 200, 0) = 5
18:44:05.811118 gettimeofday({1473878645, 811143}, NULL) = 0
18:44:05.811312 write(5112, "\27\3\3\0\371\366(l\254\2\271\261\362\307\341\230U0G\6%\330\304\357\223]Kd\347c\300\35"..., 254) = 254
18:44:05.811444 write(5112, "\25\3\3\0\32\366(l\254\2\271\261\363\221yN\337\23\5\2739\4\303\216D\256\35}\254_d", 31) = 31
18:44:05.811632 shutdown(5112, SHUT_WR) = 0
18:44:05.811768 close(5112)             = 0
18:44:05.811863 recv(8468, "", 16384, 0) = 0
18:44:05.812056 close(8468)             = 0
18:44:05.812189 recv(9383, "\211\0", 16384, 0) = 2
18:44:05.812285 write(20502, "\27\3\3\0\32g\362\203\22~lo#\"4\212\226\3\237 \362\253\302\240\372\361hw\23\36J", 31) = 31
18:44:05.812427 read(8171, "\27\3\3\0\36", 5) = 5
18:44:05.812661 read(8171, "\0\0\0\0\0\0\0F\367\206\273\3626\261\34534\250EZu\35\265\272\324V\20\24\363\n", 30) = 30
18:44:05.812774 read(8171, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.812868 send(12391, "\212\200\37\205\3544", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.812998 recv(3392, "\211\0", 16384, 0) = 2
18:44:05.813090 write(17779, "\27\3\3\0\32hD\7\343\v}\255\5\343Q3>\244\232Aue\7\374\340\273\331/8Ic", 31) = 31
18:44:05.813205 read(18573, "\27\3\3\0\36", 5) = 5
18:44:05.813338 read(18573, "\0\0\0\0\0\0\0\21\307\261\226\262~\260\265\350\16m\376\361\305\0~$W\347\365)3\224", 30) = 30
18:44:05.813428 read(18573, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.813576 send(19209, "\212\200Q*\3520", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.813734 recv(21962, "HTTP/1.1 101 Switching Protocols"..., 15360, 0) = 129
18:44:05.813933 sendmsg(9, {msg_name(110)={sa_family=AF_LOCAL, sun_path="/dev/log"}, msg_iov(8)=[{"<134>Sep 14 18:44:05 ", 21}, {"haproxy", 7}, {"[", 1}, {"4257", 4}, {"]: ", 3}, {"", 0}, {"213.143.48.211:4807 [14/Sep/2016"..., 160}, {"\n", 1}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 197
18:44:05.814514 write(11958, "\25\3\3\0\32\2\300\357\207\314\321\247\274\262@S\6\371H\327\334\2213\25Z-\2020c>\267", 31) = 31
18:44:05.814713 shutdown(11958, SHUT_WR) = 0
18:44:05.814870 close(11958)            = 0
18:44:05.815006 sendmsg(9, {msg_name(110)={sa_family=AF_LOCAL, sun_path="/dev/log"}, msg_iov(8)=[{"<134>Sep 14 18:44:05 ", 21}, {"haproxy", 7}, {"[", 1}, {"4257", 4}, {"]: ", 3}, {"", 0}, {"189.154.94.136:49375 [14/Sep/201"..., 157}, {"\n", 1}], msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = 194
18:44:05.815299 gettimeofday({1473878645, 815335}, NULL) = 0
18:44:05.815382 epoll_wait(0, {{EPOLLIN, {u32=17781, u64=17781}}, {EPOLLIN, {u32=17934, u64=17934}}, {EPOLLIN, {u32=11002, u64=11002}}, {EPOLLIN, {u32=4393, u64=4393}}, {EPOLLIN, {u32=18869, u64=18869}}}, 200, 0) = 5
18:44:05.815476 gettimeofday({1473878645, 815502}, NULL) = 0
18:44:05.815561 write(37, "\27\3\3\0\231#FTz\230\177\336\324\257WS\32\215E\240\5\331S\"6\356\233%\372e\322H"..., 158) = 158
18:44:05.815680 time(NULL)              = 1473878645
18:44:05.815788 read(18869, "\26\3\3\0F", 5) = 5
18:44:05.815872 read(18869, "\20\0\0BA\4\266\372\353i\203T\275\260\227\2533\2\235\354f\t\r>\212\236\363\232Er\364\265"..., 70) = 70
18:44:05.818399 read(18869, "\24\3\3\0\1", 5) = 5
18:44:05.818572 read(18869, "\1", 1)    = 1
18:44:05.818831 read(18869, "\26\3\3\0(", 5) = 5
18:44:05.818916 read(18869, "\1\350\245J\253\336\265\203\270\322\275\261\261\307\1_8A\357\224#<\351\232\3011Wq)_\260\222"..., 40) = 40
18:44:05.819207 write(18869, "\24\3\3\0\1\1\26\3\3\0([O\n3\341;>p\3%\255\216\357\314d\275\316\0336\351\366"..., 51) = 51
18:44:05.819444 read(18869, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.819539 read(4393, "\27\3\3\0\36", 5) = 5
18:44:05.819618 read(4393, "6H!A\35\342}\255\227\204\3122\200$\257\30\2526g_0\30\373\256\\\221\351\26\327\254", 30) = 30
18:44:05.819701 read(4393, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.819823 send(21357, "\212\200\320N\264\300", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.819949 read(11002, "\27\3\3\0@", 5) = 5
18:44:05.820029 read(11002, "6\244\237\221$\20\226\227\354\2An<\1\303vr\376g\25\246\353\317#h\232\237j\v\277\265\344"..., 64) = 64
18:44:05.820160 read(11002, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.820260 send(22120, "\212\2002\304DS", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.820375 read(17934, "\27\3\3\0\36", 5) = 5
18:44:05.820454 read(17934, "\0\0\0\0\0\0\0:>\6I`5\6dD@\257\30\222$a\225\223\362\353e4\301f", 30) = 30
18:44:05.820636 read(17934, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.820733 send(13738, "\212\200zy\2578", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.820847 read(17781, "\27\3\3\0\36", 5) = 5
18:44:05.820932 read(17781, "\370*Ag\304S\346\23\22109FRn\357\336\222P\313\22\352\232\267?\343:\316\213\5\361", 30) = 30
18:44:05.821065 read(17781, 0xbfbef5db, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.821160 send(19710, "\212\200/9\362^", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.821426 recv(21962, 0xbdc7bb88, 16384, 0) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.821535 epoll_ctl(0, EPOLL_CTL_ADD, 21962, {EPOLLIN|EPOLLRDHUP, {u32=21962, u64=21962}}) = 0
18:44:05.821620 gettimeofday({1473878645, 821646}, NULL) = 0
18:44:05.821689 epoll_wait(0, {{EPOLLIN, {u32=2343, u64=2343}}, {EPOLLIN, {u32=3893, u64=3893}}, {EPOLLIN, {u32=8533, u64=8533}}}, 200, 31) = 3
18:44:05.821774 gettimeofday({1473878645, 821800}, NULL) = 0
18:44:05.821845 time(NULL)              = 1473878645
18:44:05.821920 read(2343, "\26\3\1\0\365\1\0\0\361\3\1", 11) = 11
18:44:05.822048 time(NULL)              = 1473878645
18:44:05.822163 read(2343, "W\331\232t\255\26\250\352~\312\2031(0\331.\373\321\277\336\10\314\252_\362\272HV\37et\253"..., 239) = 239
18:44:05.822329 time(NULL)              = 1473878645
18:44:05.822420 time(NULL)              = 1473878645
18:44:05.822883 write(2343, "\26\3\1\0Q\2\0\0M\3\1G\23w\336\\\264b\16\202@\2516\370\177\255\247B\275\217\5\204"..., 145) = 145
18:44:05.823015 read(2343, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.823131 time(NULL)              = 1473878645
18:44:05.823210 read(8533, "\24\3\3\0\1", 5) = 5
18:44:05.823314 read(8533, "\1", 1)     = 1
18:44:05.823600 read(8533, "\26\3\3\0(", 5) = 5
18:44:05.823692 read(8533, "\0\0\0\0\0\0\0\0\272k\224@\335\355&\232A\314\200<l\36I\240\353D\vKmt\266\326"..., 40) = 40
18:44:05.823849 read(8533, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.823939 read(3893, "\27\3\3\0R", 5) = 5
18:44:05.824017 read(3893, "\0\0\0\0\0\0\0\3\314\327\264\2308\204d\255\266.\334dp\333_or\3440\377\216\311\255A"..., 82) = 82
18:44:05.824194 read(3893, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.824299 send(21965, "\201\264\212\245\30\270\361\207y\333\376\314w\326\250\237:\313\377\307k\333\370\314z\335\250\211:\312\345\312"..., 58, MSG_DONTWAIT|MSG_NOSIGNAL) = 58
18:44:05.824421 gettimeofday({1473878645, 824451}, NULL) = 0
18:44:05.824496 epoll_wait(0, {{EPOLLIN, {u32=18893, u64=18893}}, {EPOLLIN, {u32=5337, u64=5337}}, {EPOLLIN, {u32=1699, u64=1699}}, {EPOLLIN, {u32=20000, u64=20000}}}, 200, 25) = 4
18:44:05.824587 gettimeofday({1473878645, 824613}, NULL) = 0
18:44:05.824663 read(18893, "\27\3\3\0\36", 5) = 5
18:44:05.824740 read(18893, "\0\0\0\0\0\0\0\0101\200q\352\1\224T\341\31\216\342\17@&\266\"\t\377!p\254\255", 30) = 30
18:44:05.824822 read(18893, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.824952 send(6148, "\212\200\201,\227\371", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.825071 recv(20000, "\211\0", 16384, 0) = 2
18:44:05.825165 write(1168, "\27\3\3\0\32WB\310`\241s\217EPm{\253 \1\376{\31u\251v\177\21\265:\34\265", 31) = 31
18:44:05.825288 read(1699, "\27\3\3\0\36", 5) = 5
18:44:05.825368 read(1699, "\35n\203g\316_\302\351]\334p1\f+\317\212\243G\27/\3553z\347\354\271\244\206\323\33", 30) = 30
18:44:05.825451 read(1699, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.825643 send(2350, "\212\200\276\366\273\303", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.825758 read(5337, "\27\3\3\0\36", 5) = 5
18:44:05.825844 read(5337, "\0\0\0\0\0\0\24dc\n\230\345\221\242\322\23C\366q\305\324\31\373\274Y\4\230\225\375\r", 30) = 30
18:44:05.825968 read(5337, 0xb66a600b, 5) = -1 EAGAIN (Resource temporarily unavailable)
18:44:05.826071 send(5641, "\212\200,\265\360[", 6, MSG_DONTWAIT|MSG_NOSIGNAL) = 6
18:44:05.826369 gettimeofday({1473878645, 826400}, NULL) = 0
18:44:05.826445 epoll_wait(0, {{EPOLLIN, {u32=21965, u64=21965}}}, 200, 22) = 1
18:44:05.826520 gettimeofday({1473878645, 826546}, NULL) = 0
18:44:05.826600 recv(21965, "\201\17{\"callback\":1}\n", 16384, 0) = 17
18:44:05.826691 write(3893, "\27\3\3\0)\6\373`\317\2218\17\f\254\267\334\357\250)\355\25\257\24\10\270\31\346u\347\275KL"..., 46) = 46
18:44:05.826811 gettimeofday({1473878645, 826841}, NULL) = 0
18:44:05.826884 epoll_wait(0, {{EPOLLIN, {u32=11291, u64=11291}}, {EPOLLIN, {u32=8446, u64=8446}}}, 200, 20) = 2
18:44:05.827038 gettimeofday({1473878645, 827066}, NULL) = 0
18:44:05.827124 recv(11291, "\211\0", 16384, 0) = 2
18:44:05.827231 write(16989, "\27\3\3\0\32;B \352\2508de\226\305\2629~{Z2^\272lO\f\2322\355qu", 31) = 31
18:44:05.827385 recv(8446, "\211\0", 16384, 0) = 2
18:44:05.827504 write(1473, "\27\3\3\0@w24k\210\20q\203i\32s\263\332\272\310\3241\257\267\227\37\376M\315\223\16\274"..., 69) = 69
18:44:05.827624 gettimeofday({1473878645, 827683}, NULL) = 0
18:44:05.827731 epoll_wait(0, {{EPOLLIN, {u32=11532, u64=11532}}, {EPOLLIN, {u32=1731, u64=1731}}}, 200, 20) = 2
18:44:05.828001 gettimeofday({1473878645, 828031}, NULL) = 0
18:44:05.828087 recv(11532, "\211\0", 16384, 0) = 2
18:44:05.828177 write(3839, "\27\3\3\0\32\330\216d\362\376:\325Yanb\265,o\22\3257\277\232\35\350\345V6\242T", 31) = 31

Thanks in advance,

Raido

Hi Raido,

I don’t really see anything wrong after a quick glance into the strace output (but strace would only show syscalls anyway). Not sure how we can troubleshoot this further, other than trying the intermediate releases.

I think its time to move this discussion to the mailing list, you will get better answers there.

Just write up the informations from this discussion in a mail to:
haproxy formilux dot org

It’s not necessary to subscribe to the mailing list.

Just for the record. We had a similar issue w/1.6.9 (nbproc=1) back in oct 2016, high cpu usage and no traffic passed through HAproxy. 1.6.11 seem to have fixed this. Though now we’re on 1.7.3 so far wo/issues.