Hi Willy, since commit a890d072, the following frontend configuration (in http mode) hangs haproxy, debug output above.
> acl iscluster1-2 hdr_sub(host) -i testdom2.local > use_backend cluster1-2 if iscluster1-2 After process_switching_rules haproxy seems to hang (new connections don't trigger additional logging). CPU usage grows to 100% spend in userspace by haproxy: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6974 root 20 0 15444 4720 404 R 99.8 0.5 0:23.57 haproxy One commit back, 8624cab29, same testcase works fine. lukas@ubuntuvm:~/haproxy$ ./haproxy -vv Sharing pendconn with pipe HA-Proxy version 1.5-dev17-108 2013/04/02 Copyright 2000-2012 Willy Tarreau <w...@1wt.eu> Build options : TARGET = linux2628 CPU = native CC = gcc CFLAGS = -g -O0 -DTCP_FASTOPEN=23 OPTIONS = USE_ZLIB=1 USE_OPENSSL=1 USE_PCRE=1 Default settings : maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents = 200 Encrypted password support via crypt(3): yes Built with zlib version : 1.2.3.4 Compression algorithms supported : identity, deflate, gzip Built with OpenSSL version : OpenSSL 1.0.1 14 Mar 2012 OpenSSL library supports TLS extensions : yes OpenSSL library supports SNI : yes OpenSSL library supports prefer-server-ciphers : yes 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. lukas@ubuntuvm:~/haproxy$ sudo ./haproxy -d -f ../cert/haproxy.cfg Sharing pendconn with pipe Sharing channel with capture Available polling systems : epoll : pref=300, test result OK poll : pref=200, test result OK select : pref=150, test result FAILED Total: 3 (2 usable), will use epoll. Using epoll() as the polling mechanism. 00000001:myfrontend.accept(0005)=0007 from [10.0.0.3:60250] si_conn_wake_cb: si=0x82c4c34, si->state=7 ib->flags=00500000 ob->flags=00000000 [3428207437] process_session:1718: task=0x82b08a0 s=0x82c4a98, sfl=0x00000080, rq=0x82b07e0, rp=0x82b06f8, exp(r,w)=0,0 rqf=00500000 rpf=00000000 rqh=0 rqt=0 rph=0 rpt=0 cs=7 ss=0, cet=0x0 set=0x0 retr=0 [3428207437] http_wait_for_request: session=0x82c4a98 b=0x82b07e0, exp(r,w)=0,0 bf=00d08000 bh=0 analysers=1c [3428207437] queuing with exp=3428236437 req->rex=3428236437 req->wex=0 req->ana_exp=3428237437 rep->rex=0 rep->wex=0, si[0].exp=0, si[1].exp=0, cs=7, ss=0 si_conn_wake_cb: si=0x82c4c34, si->state=7 ib->flags=00400002 ob->flags=00000000 [3428207440] process_session:1718: task=0x82b08a0 s=0x82c4a98, sfl=0x00000080, rq=0x82b07e0, rp=0x82b06f8, exp(r,w)=0,0 rqf=00000002 rpf=00000000 rqh=147 rqt=0 rph=0 rpt=0 cs=7 ss=0, cet=0x0 set=0x0 retr=0 [3428207440] http_wait_for_request: session=0x82c4a98 b=0x82b07e0, exp(r,w)=0,0 bf=00808002 bh=147 analysers=1c 00000001:myfrontend.clireq[0007:ffff]: GET / HTTP/1.1 00000001:myfrontend.clihdr[0007:ffff]: User-Agent: curl/7.21.7 (i386-pc-win32) libcurl/7.21.7 OpenSSL/1.0.0d zlib/1.2.5 librtmp/2.3 00000001:myfrontend.clihdr[0007:ffff]: Accept: */* 00000001:myfrontend.clihdr[0007:ffff]: Host: testdom1.local [3428207440] http_process_req_common: session=0x82c4a98 b=0x82b07e0, exp(r,w)=0,0 bf=00808002 bh=147 analysers=10 [3428207440] process_switching_rules: session=0x82c4a98 b=0x82b07e0, exp(r,w)=0,0 bf=04808002 bh=147 analysers=00 ^Clukas@ubuntuvm:~/haproxy$ lukas@ubuntuvm:~/haproxy$ Regards, Lukas