Hello, I would like to report a segfault on HAProxy 2.0.11 ; this version has been running fine for two months, and this morning starting segfaulting over and over. Mitigation was performed by adding "no option http-use-htx" on 'defaults' block.
I know it's not the latest version :) I'll update to 2.0.13 this evening. Program terminated with signal 11, Segmentation fault. #0 htx_sl_p2 (sl=<optimized out>) at include/common/htx.h:293 293 include/common/htx.h: No such file or directory. (gdb) bt #0 htx_sl_p2 (sl=<optimized out>) at include/common/htx.h:293 #1 htx_sl_req_uri (sl=<optimized out>) at include/common/htx.h:308 #2 assign_server (s=0xdc139f0) at src/backend.c:746 #3 0x0000000000552114 in assign_server_and_queue (s=s@entry=0xdc139f0) at src/backend.c:977 #4 0x00000000005556f8 in assign_server_and_queue (s=0xdc139f0) at src/backend.c:1772 #5 srv_redispatch_connect (s=s@entry=0xdc139f0) at src/backend.c:1705 #6 0x00000000004c2cf8 in sess_prepare_conn_req (s=<optimized out>) at src/stream.c:1250 #7 process_stream (t=t@entry=0xd1db790, context=0xdc139f0, state=<optimized out>) at src/stream.c:2414 #8 0x0000000000594865 in process_runnable_tasks () at src/task.c:412 #9 0x00000000005038f7 in run_poll_loop () at src/haproxy.c:2520 #10 run_thread_poll_loop (data=data@entry=0x0) at src/haproxy.c:2641 #11 0x00000000004653b0 in main (argc=<optimized out>, argv=0x7fff848ae498) at src/haproxy.c:3318 haproxy -vv: HA-Proxy version 2.0.11 2019/12/11 - https://haproxy.org/ Build options : TARGET = linux-glibc CPU = generic CC = gcc CFLAGS = -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter -Wno-old-style-declaration -Wno-ignored-qualifiers -Wno-clobbered -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-stringop-overflow -Wtype-limits -Wshift-negative-value -Wshift-overflow=2 -Wduplicated-cond -Wnull-dereference OPTIONS = USE_THREAD=0 USE_STATIC_PCRE=1 USE_OPENSSL=1 USE_LUA=1 USE_ZLIB=1 USE_NS= Feature list : +EPOLL -KQUEUE -MY_EPOLL -MY_SPLICE +NETFILTER -PCRE -PCRE_JIT -PCRE2 -PCRE2_JIT +POLL -PRIVATE_CACHE +THREAD -PTHREAD_PSHARED -REGPARM +STATIC_PCRE -STATIC_PCRE2 +TPROXY +LINUX_TPROXY +LINUX_SPLICE +LIBCRYPT +CRYPT_H -VSYSCALL +GETADDRINFO +OPENSSL +LUA +FUTEX +ACCEPT4 -MY_ACCEPT4 +ZLIB -SLZ +CPU_AFFINITY +TFO -NS +DL +RT -DEVICEATLAS -51DEGREES -WURFL -SYSTEMD -OBSOLETE_LINKER +PRCTL +THREAD_DUMP -EVPORTS Default settings : bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 Built with multi-threading support (MAX_THREADS=64, default=20). Built with OpenSSL version : OpenSSL 1.1.1d 10 Sep 2019 Running on OpenSSL version : OpenSSL 1.1.1d 10 Sep 2019 OpenSSL library supports TLS extensions : yes OpenSSL library supports SNI : yes OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3 Built with Lua version : Lua 5.3.5 Built with transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND Built with zlib version : 1.2.11 Running on zlib version : 1.2.11 Compression algorithms supported : identity("identity"), deflate("deflate"), raw-deflate("deflate"), gzip("gzip") Built with PCRE version : 8.43 2019-02-23 Running on PCRE version : 8.43 2019-02-23 PCRE library supports JIT : no (USE_PCRE_JIT not set) Encrypted password support via crypt(3): 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. Available multiplexer protocols : (protocols marked as <default> cannot be specified using 'proto' keyword) h2 : mode=HTX side=FE|BE mux=H2 h2 : mode=HTTP side=FE mux=H2 <default> : mode=HTX side=FE|BE mux=H1 <default> : mode=TCP|HTTP side=FE|BE mux=PASS Available services : none Available filters : [SPOE] spoe [COMP] compression [CACHE] cache [TRACE] trace Config file is very long ... If needed, a coredump + binary can be sent on private. Olivier