-
Notifications
You must be signed in to change notification settings - Fork 870
Description
Detailed Description of the Problem
Hello
I attempted to update the root CA and certificates at runtime through the CLI while HAProxy was running, as follows.
When updating the rootca file and certificate file via the CLI using runtimeAPI, HAProxy crashes. However, if only the rootca file (ca file) is updated, no crash occurs. But, after updating the ca file, when the certificate file is updated (whether it's the same certificate or a newly generated one), HAProxy crashes. This crash occurs even when no messages are being received from the outside.
If this crash is caused by an issue with the test sequence, could you please provide guidance on how to proceed with the testing? If it is a latent issue, I hope the attached script and backtrace will be helpful in making the necessary corrections.
Expected Behavior
If it is not possible to update the certificate, it would be preferable for HAProxy to output an error message and not perform the update, rather than crashing.
Steps to Reproduce the Behavior
The test was conducted as follows:
I opened a terminal and executed the command './haproxy -V -f haproxy.cfg' to start HAProxy.
In another terminal, I ran a script to update the certificates.
The script that caused the crash updates the root CA file (ca.crt), waits for 1 second, and then updates the certificates.
For the first scenario, the same certificate was updated without any changes. For the second scenario, a new certificate was generated and then updated.
Each scenario was executed independently, and in both cases, a crash occurred.
The script for the first scenario is as follows:
let cnt=0
while true; do
date
sudo /bin/rm test_rootCA.key test_rootCA.crt
echo "make rootCA key"
sudo openssl genrsa -out test_rootCA.key 4096
echo "make rootCA crt"
sudo openssl req \
-config /ext_hdd/haproxy_test/ocsp/exampleCA/openssl-root.cnf \
-extensions v3_ca \
-new \
-x509 \
-days 7300 \
-sha256 \
-subj "/C=KR/ST=GY/L=Suwon/O=SEC/OU=NW/CN=Root CA" \
-key test_rootCA.key \
-out test_rootCA.crt
let cnt=$cnt+1
if [ $cnt -gt 2 ]; then
let cnt=0
echo -e "set ssl ca-file ca.crt <<\n$(cat ca.crt)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
else
echo -e "set ssl ca-file ca.crt <<\n$(cat test_rootCA.crt)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
fi
echo "commit ssl ca-file ca.crt" | ./socat unix-connect:/var/run/haproxy.sock stdio
sleep 1
echo -e "set ssl cert haproxy.pem <<\n$(cat haproxy.pem)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
echo "commit ssl cert haproxy.pem" | ./socat unix-connect:/var/run/haproxy.sock stdio
done
The script for the second scenario is as follows:
let cnt=0
while true; do
date
sudo /bin/rm test_rootCA.key test_rootCA.crt
echo "make rootCA key"
sudo openssl genrsa -out test_rootCA.key 4096
echo "make rootCA crt"
sudo openssl req \
-config /ext_hdd/haproxy_test/ocsp/exampleCA/openssl-root.cnf \
-extensions v3_ca \
-new \
-x509 \
-days 7300 \
-sha256 \
-subj "/C=KR/ST=GY/L=Suwon/O=SEC/OU=NW/CN=Root CA" \
-key test_rootCA.key \
-out test_rootCA.crt
let cnt=$cnt+1
if [ $cnt -gt 2 ]; then
let cnt=0
echo -e "set ssl ca-file ca.crt <<\n$(cat ca.crt)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
else
echo -e "set ssl ca-file ca.crt <<\n$(cat test_rootCA.crt)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
fi
echo "commit ssl ca-file ca.crt" | ./socat unix-connect:/var/run/haproxy.sock stdio
sleep 1
openssl req \
-config /ext_hdd/haproxy_test/ocsp/exampleCA/openssl-root.cnf \
-newkey rsa:2048 \
-nodes \
-subj "/C=KR/ST=GY/L=Suwon/O=SEC/OU=NW/CN=www.example.com" \
-keyout haproxy.key \
-out haproxy.csr
openssl ca \
-config /ext_hdd/haproxy_test/ocsp/exampleCA/openssl-root.cnf \
-extensions v3_both \
-days 3650 \
-notext \
-md sha256 \
-in haproxy.csr \
-out haproxy.crt
cat haproxy.crt > haproxy.pem
cat haproxy.key >> haproxy.pem
cat test_rootCA.key >> haproxy.pem
echo -e "set ssl cert haproxy.pem <<\n$(cat haproxy.pem)\n" | ./socat unix-connect:/var/run/haproxy.sock stdio
echo "commit ssl cert haproxy.pem" | ./socat unix-connect:/var/run/haproxy.sock stdio
done
Do you have any idea what may have caused this?
No response
Do you have an idea how to solve the issue?
No response
What is your configuration?
global
nbthread 8
maxconn 30000
stats socket /var/run/haproxy.sock mode 660 expose-fd listeners level admin
stats timeout 2m
tune.h2.initial-window-size 6553600
log stdout format raw local0 info
ocsp-update.mode on
defaults
timeout connect 10s
timeout client 40s
timeout server 1h
timeout queue 5s
option forwardfor
option nolinger
mode http
maxconn 30000
log global
option httplog
frontend frontend_12345
http-request set-tos 0xE0
http-response set-tos 0xE0
bind 0.0.0.0:12345 ssl crt haproxy.pem ca-file ca.crt verify required alpn h2 proto h2
bind [::]:12345 ssl crt haproxy.pem ca-file ca.crt verify required alpn h2 proto h2
http-request set-header X-SSL-Client-DN %{+Q}[ssl_c_s_dn]
default_backend testBackend
backend testBackend
balance static-rr
server 41 172.200.0.3:12346 proto h2 check inter 1s observe layer4 error-limit 2 on-error mark-downOutput of haproxy -vv
HAProxy version 3.2.6-81568b2 2025/10/03 - https://haproxy.org/
Status: long-term supported branch - will stop receiving fixes around Q2 2030.
Known bugs: http://www.haproxy.org/bugs/bugs-3.2.6.html
Running on: Linux 5.15.0-136-generic #147~20.04.1-Ubuntu SMP Wed Mar 19 16:13:14 UTC 2025 x86_64
Build options :
TARGET = linux-glibc
CC = cc
CFLAGS = -O2 -g -fwrapv
OPTIONS = USE_OPENSSL=1 USE_LUA=1 USE_ZLIB=1
DEBUG =
Feature list : -51DEGREES +ACCEPT4 +BACKTRACE -CLOSEFROM +CPU_AFFINITY +CRYPT_H -DEVICEATLAS +DL -ENGINE +EPOLL -EVPORTS +GETADDRINFO -KQUEUE -LIBATOMIC +LIBCRYPT +LINUX_CAP +LINUX_SPLICE +LINUX_TPROXY +LUA +MATH -MEMORY_PROFILING +NETFILTER +NS -OBSOLETE_LINKER +OPENSSL -OPENSSL_AWSLC -OPENSSL_WOLFSSL -OT -PCRE -PCRE2 -PCRE2_JIT -PCRE_JIT +POLL +PRCTL -PROCCTL -PROMEX -PTHREAD_EMULATION -QUIC -QUIC_OPENSSL_COMPAT +RT -SLZ +SSL -STATIC_PCRE -STATIC_PCRE2 +TFO +THREAD +THREAD_DUMP +TPROXY -WURFL +ZLIB +ACME
Default settings :
bufsize = 16384, maxrewrite = 1024, maxpollevents = 200
Built with multi-threading support (MAX_TGROUPS=32, MAX_THREADS=1024, default=8).
Built with SSL library version : OpenSSL 3.0.18 30 Sep 2025
Running on SSL library version : OpenSSL 3.0.18 30 Sep 2025
SSL library supports TLS extensions : yes
SSL library supports SNI : yes
SSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3
OpenSSL providers loaded : default
Built with Lua version : Lua 5.4.8
Built with network namespace support.
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 transparent proxy support using: IP_TRANSPARENT IPV6_TRANSPARENT IP_FREEBIND
Built without PCRE or PCRE2 support (using libc's regex instead)
Encrypted password support via crypt(3): yes
Built with gcc compiler version 9.4.0
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=HTTP side=FE|BE mux=H2 flags=HTX|HOL_RISK|NO_UPG
<default> : mode=HTTP side=FE|BE mux=H1 flags=HTX
h1 : mode=HTTP side=FE|BE mux=H1 flags=HTX|NO_UPG
fcgi : mode=HTTP side=BE mux=FCGI flags=HTX|HOL_RISK|NO_UPG
<default> : mode=SPOP side=BE mux=SPOP flags=HOL_RISK|NO_UPG
spop : mode=SPOP side=BE mux=SPOP flags=HOL_RISK|NO_UPG
<default> : mode=TCP side=FE|BE mux=PASS flags=
none : mode=TCP side=FE|BE mux=PASS flags=NO_UPG
Available services : none
Available filters :
[BWLIM] bwlim-in
[BWLIM] bwlim-out
[CACHE] cache
[COMP] compression
[FCGI] fcgi-app
[SPOE] spoe
[TRACE] trace
Last Outputs and Backtraces
The backtrace for the first scenario is as follows:
Thread 7 "haproxy" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff4edb640 (LWP 544498)]
0x00005555556b0809 in ssl_sock_put_ckch_into_ctx (err=0x7fffdc03f2c0, ctx=0x7fffdc047480, store=0x5555569c45b0, path=0x5555569c4650 "haproxy.pem")
at src/ssl_sock.c:2785
2785 if (SSL_CTX_use_PrivateKey(ctx, data->key) <= 0) {
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.34-60.el9_2.7.x86_64 libgcc-11.3.1-4.3.el9.x86_64 libxcrypt-compat-4.4.18-3.el9.x86_64 zlib-1.2.11-39.el9.x86_64
(gdb) t a a bt full
Thread 9 (Thread 0x7fffe77fe640 (LWP 544500) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 8 (Thread 0x7fffe7fff640 (LWP 544499) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 45
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 45
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, --Type <RET> for more, q to quit, c to continue without paging--
<optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 7 (Thread 0x7ffff4edb640 (LWP 544498) "haproxy"):
#0 0x00005555556b0809 in ssl_sock_put_ckch_into_ctx (err=0x7fffdc03f2c0, ctx=0x7fffdc047480, store=0x5555569c45b0, path=0x5555569c4650 "haproxy.pem") at sr--Type <RET> for more, q to quit, c to continue without paging--
c/ssl_sock.c:2785
errcode = 0
data = 0x5555569c4
find_chain = 0x0
errcode = <optimized out>
data = <optimized out>
find_chain = <optimized out>
end = <optimized out>
ret = <optimized out>
#1 ckch_inst_new_load_store (path=0x5555569c4650 "haproxy.pem", ckchs=0x5555569c45b0, bind_conf=0x5555569c3f80, ssl_conf=0x0, sni_filter=0x0, fcount=0, is_default=1, ckchi=0x7ffff4ecfe40, err=0x7fffdc03f2c0) at src/ssl_sock.c:2931
ctx = 0x7fffdc047480
i = <optimized out>
order = 0
xname = <optimized out>
str = 0x555556c2f510 "ca.crt"
pkey = <optimized out>
kinfo = {sig = <optimized out>, bits = <optimized out>}
names = <optimized out>
data = 0x5555569c4
ckch_inst = 0x0
errcode = 0
error = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#2 0x00005555556c122a in ckch_inst_rebuild (ckch_store=<optimized out>, ckchi=0x7ffff004f190, new_inst=new_inst@entry=0x7ffff4ecfe40, err=err@entry=0x7fffdc03f2c0) at src/ssl_ckch.c:2587
retval = 0
errcode = 0
sc0 = <optimized out>
sc0s = <optimized out>
sni_filter = <optimized out>
fcount = <optimized out>
#3 0x00005555556c15c1 in cli_io_handler_commit_cafile_crlfile (appctx=0x7fffdc03f1a0) at src/ssl_ckch.c:3484
new_inst = 0x0
ctx = 0x7fffdc03f2a0
y = 0
old_cafile_entry = 0x555556c2f4c0
new_cafile_entry = <optimized out>
ckchi_link = 0x7ffff004fde0
path = <optimized out>
yield = <optimized out>
end = <optimized out>
#4 0x0000555555826dfe in cli_io_handler (appctx=0x7fffdc03f1a0) at src/cli.c:1202
ctx = <optimized out>
msg = <optimized out>
sev = <optimized out>
__func__ = {<optimized out> <repeats 15 times>}
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x000055555588bd33 in task_process_applet (t=0x7fffdc03f3b0, context=0x7fffdc03f1a0, state=<optimized out>) at src/applet.c:920
app = 0x7fffdc03f1a0
sc = <optimized out>
rate = <optimized out>
__FUNCTION__ = "task_process_applet"
__func__ = {<optimized out> <repeats 20 times>}
#6 0x0000555555919aa5 in run_tasks_from_lists (budgets=budgets@entry=0x7ffff4ecffe0) at src/task.c:659
process = <optimized out>
tl_queues = <optimized out>
t = 0x7fffdc03f3b0
budget_mask = <optimized out>
profile_entry = 0x0
done = <optimized out>
queue = <optimized out>
state = <optimized out>
ctx = <optimized out>
__func__ = {<optimized out> <repeats 21 times>}
#7 0x000055555591a81b in process_runnable_tasks () at src/task.c:892
tt = 0x5555566ed780 <ha_thread_ctx+2560>
lrq = <optimized out>
grq = <optimized out>
t = <optimized out>
max = {0, 91, 0, 0}
--Type <RET> for more, q to quit, c to continue without paging--
max_total = <optimized out>
tmp_list = <optimized out>
queue = <optimized out>
max_processed = <optimized out>
lpicked = <optimized out>
gpicked = <optimized out>
heavy_queued = 1
budget = <optimized out>
not_done_yet = <optimized out>
__lk_r = <optimized out>
__set_r = <optimized out>
__msk_r = <optimized out>
#8 0x0000555555880599 in run_poll_loop () at src/haproxy.c:2851
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#9 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next =--Type <RET> for more, q to quit, c to continue without paging--
0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#10 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#11 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 6 (Thread 0x7ffff5717640 (LWP 544497) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
--Type <RET> for more, q to quit, c to continue without paging--
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 5 (Thread 0x7ffff5f53640 (LWP 544496) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
--Type <RET> for more, q to quit, c to continue without paging--
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\03--Type <RET> for more, q to quit, c to continue without paging--
0", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 4 (Thread 0x7ffff678f640 (LWP 544495) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
--Type <RET> for more, q to quit, c to continue without paging--
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 3 (Thread 0x7ffff7c5b640 (LWP 544494) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7ffff7c67480 (LWP 544489) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
--Type <RET> for more, q to quit, c to continue without paging--
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x000055555569e479 in main (argc=<optimized out>, argv=<optimized out>) at src/haproxy.c:3685
devnullfd = <optimized out>
limit = {rlim_cur = 1048576, rlim_max = 1048576}
intovf = <optimized out>
cfg = <optimized out>
cfg_tmp = <optimized out>
tmp_startup_logs = <optimized out>
proc = <optimized out>
msg = 0x555555c8d2db "READY\n"
msg = <optimized out>
(gdb) quit
The script for the second scenario is as follows:
Thread 7 "haproxy" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff4edb640 (LWP 544618)]
0x00005555556b0809 in ssl_sock_put_ckch_into_ctx (err=0x7fffdc03f2c0, ctx=0x7fffdc047480, store=0x5555569c45b0, path=0x5555569c4650 "haproxy.pem")
at src/ssl_sock.c:2785
2785 if (SSL_CTX_use_PrivateKey(ctx, data->key) <= 0) {
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.34-60.el9_2.7.x86_64 libgcc-11.3.1-4.3.el9.x86_64 libxcrypt-compat-4.4.18-3.el9.x86_64 zlib-1.2.11-39.el9.x86_64
(gdb) t a a bt full
Thread 9 (Thread 0x7fffe77fe640 (LWP 544620) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 1001
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 1001
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 8 (Thread 0x7fffe7fff640 (LWP 544619) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, --Type <RET> for more, q to quit, c to continue without paging--
<optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 7 (Thread 0x7ffff4edb640 (LWP 544618) "haproxy"):
#0 0x00005555556b0809 in ssl_sock_put_ckch_into_ctx (err=0x7fffdc03f2c0, ctx=0x7fffdc047480, store=0x5555569c45b0, path=0x5555569c4650 "haproxy.pem") at sr--Type <RET> for more, q to quit, c to continue without paging--
c/ssl_sock.c:2785
errcode = 0
data = 0x5555569c4
find_chain = 0x0
errcode = <optimized out>
data = <optimized out>
find_chain = <optimized out>
end = <optimized out>
ret = <optimized out>
#1 ckch_inst_new_load_store (path=0x5555569c4650 "haproxy.pem", ckchs=0x5555569c45b0, bind_conf=0x5555569c3f80, ssl_conf=0x0, sni_filter=0x0, fcount=0, is_default=1, ckchi=0x7ffff4ecfe40, err=0x7fffdc03f2c0) at src/ssl_sock.c:2931
ctx = 0x7fffdc047480
i = <optimized out>
order = 0
xname = <optimized out>
str = 0x555556c2f510 "ca.crt"
pkey = <optimized out>
kinfo = {sig = <optimized out>, bits = <optimized out>}
names = <optimized out>
data = 0x5555569c4
ckch_inst = 0x0
errcode = 0
error = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
#2 0x00005555556c122a in ckch_inst_rebuild (ckch_store=<optimized out>, ckchi=0x7ffff004f190, new_inst=new_inst@entry=0x7ffff4ecfe40, err=err@entry=0x7fffdc03f2c0) at src/ssl_ckch.c:2587
retval = 0
errcode = 0
sc0 = <optimized out>
sc0s = <optimized out>
sni_filter = <optimized out>
fcount = <optimized out>
#3 0x00005555556c15c1 in cli_io_handler_commit_cafile_crlfile (appctx=0x7fffdc03f1a0) at src/ssl_ckch.c:3484
new_inst = 0x0
ctx = 0x7fffdc03f2a0
y = 0
old_cafile_entry = 0x555556c2f4c0
new_cafile_entry = <optimized out>
ckchi_link = 0x7ffff004fde0
path = <optimized out>
yield = <optimized out>
end = <optimized out>
#4 0x0000555555826dfe in cli_io_handler (appctx=0x7fffdc03f1a0) at src/cli.c:1202
ctx = <optimized out>
msg = <optimized out>
sev = <optimized out>
__func__ = {<optimized out> <repeats 15 times>}
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x000055555588bd33 in task_process_applet (t=0x7fffdc03f3b0, context=0x7fffdc03f1a0, state=<optimized out>) at src/applet.c:920
app = 0x7fffdc03f1a0
sc = <optimized out>
rate = <optimized out>
__FUNCTION__ = "task_process_applet"
__func__ = {<optimized out> <repeats 20 times>}
#6 0x0000555555919aa5 in run_tasks_from_lists (budgets=budgets@entry=0x7ffff4ecffe0) at src/task.c:659
process = <optimized out>
tl_queues = <optimized out>
t = 0x7fffdc03f3b0
budget_mask = <optimized out>
profile_entry = 0x0
done = <optimized out>
queue = <optimized out>
state = <optimized out>
ctx = <optimized out>
__func__ = {<optimized out> <repeats 21 times>}
#7 0x000055555591a81b in process_runnable_tasks () at src/task.c:892
tt = 0x5555566ed780 <ha_thread_ctx+2560>
lrq = <optimized out>
grq = <optimized out>
t = <optimized out>
max = {0, 68, 23, 0}
--Type <RET> for more, q to quit, c to continue without paging--
max_total = <optimized out>
tmp_list = <optimized out>
queue = <optimized out>
max_processed = <optimized out>
lpicked = <optimized out>
gpicked = <optimized out>
heavy_queued = 1
budget = <optimized out>
not_done_yet = <optimized out>
__lk_r = <optimized out>
__set_r = <optimized out>
__msk_r = <optimized out>
#8 0x0000555555880599 in run_poll_loop () at src/haproxy.c:2851
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#9 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next =--Type <RET> for more, q to quit, c to continue without paging--
0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#10 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#11 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 6 (Thread 0x7ffff5717640 (LWP 544617) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
--Type <RET> for more, q to quit, c to continue without paging--
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 5 (Thread 0x7ffff5f53640 (LWP 544616) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
--Type <RET> for more, q to quit, c to continue without paging--
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\03--Type <RET> for more, q to quit, c to continue without paging--
0", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 4 (Thread 0x7ffff6754640 (LWP 544615) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
--Type <RET> for more, q to quit, c to continue without paging--
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 3 (Thread 0x7ffff7c5b640 (LWP 544614) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x00007ffff7d08802 in start_thread () from /lib64/libc.so.6
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#5 0x00007ffff7ca8450 in clone3 () from /lib64/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7ffff7c67480 (LWP 544609) "haproxy"):
#0 0x00007ffff7db783e in epoll_wait () from /lib64/libc.so.6
No symbol table info available.
#1 0x00005555556a0cf2 in _do_poll (p=<optimized out>, exp=<optimized out>, wake=<optimized out>) at src/ev_epoll.c:250
timeout = 60000
status = <optimized out>
fd = <optimized out>
count = <optimized out>
updt_idx = <optimized out>
wait_time = 60000
old_fd = <optimized out>
__func__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>}
#2 0x000055555588055b in run_poll_loop () at src/haproxy.c:2929
next = <optimized out>
wake = <optimized out>
__func__ = {<optimized out> <repeats 14 times>}
#3 0x0000555555880cc1 in run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:3071
ptaf = <optimized out>
ptif = 0x555555e83930 <per_thread_init_list>
--Type <RET> for more, q to quit, c to continue without paging--
ptdf = <optimized out>
ptff = <optimized out>
init_left = 0
init_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}
init_cond = {__data = {{__wseq = 55, __wseq32 = {__low = 55, __high = 0}}, {__g1_start = 43, __g1_start32 = {__low = 43, __high = 0}}, __g_refs = {0, 0}, __g_size = {0, 0}, __g1_orig_size = 24, __wrefs = 0, __g_signals = {0, 0}}, __size = "7\000\000\000\000\000\000\000+", '\000' <repeats 23 times>, "\030", '\000' <repeats 14 times>, __align = 55}
#4 0x000055555569e479 in main (argc=<optimized out>, argv=<optimized out>) at src/haproxy.c:3685
devnullfd = <optimized out>
limit = {rlim_cur = 1048576, rlim_max = 1048576}
intovf = <optimized out>
cfg = <optimized out>
cfg_tmp = <optimized out>
tmp_startup_logs = <optimized out>
proc = <optimized out>
msg = 0x555555c8d2db "READY\n"
msg = <optimized out>
(gdb)
(gdb) quit
Additional Information
The crash occurs even when no packets or messages are sent to HAProxy from the outside, and it happens immediately when the script is executed.