Hi!
> Since upgrading from dev17 to dev18 I'm getting a segfault:
I can reproduce this. Here a few details:
- a4312fa28e897ed7373785c49ddf3acbc8f9f264 is the first bad commit
- does not happen when build with USE_OPENSSL=1
- gdb backtrace (without compiler optimizations):
(gdb) bt
#0 0xb7693a23 in ?? () from /lib/i386-linux-gnu/libc.so.6
#1 0x080c5e2c in __ebmb_lookup (len=156909700, x=0x95f868c, root=0x95a3f78) at
ebtree/ebmbtree.h:140
#2 ebmb_lookup (root=0x95a3f78, x=0x95f868c, len=156909700) at
ebtree/ebmbtree.c:31
#3 0x0807ce0a in stktable_lookup_key (t=0x95a3f74, key=0x95ec2f0) at
src/stick_table.c:190
#4 0x080b7bbd in smp_fetch_src_get_gpc0 (px=0x959a7f8, l4=0x95f8398, l7=0x0,
opt=6, args=0x95a3890, smp=0xbff09f84) at src/session.c:2634
#5 0x080bd8df in acl_exec_cond (cond=0x95a3820, px=0x959a7f8, l4=0x95f8398,
l7=0x0, opt=6) at src/acl.c:1719
#6 0x080ade39 in tcp_exec_req_rules (s=0x95f8398) at src/proto_tcp.c:997
#7 0x080b0efc in session_accept (l=0x95a3610, cfd=6, addr=0xbff0a0cc) at
src/session.c:130
#8 0x080577eb in listener_accept (fd=4) at src/listener.c:389
#9 0x080c35f2 in _do_poll (p=0x80fcca0, exp=0) at src/ev_epoll.c:197
#10 0x0804c49a in run_poll_loop () at src/haproxy.c:1231
#11 0x0804ce94 in main (argc=4, argv=0xbff0a3c4) at src/haproxy.c:1555
(gdb) backtrace full
#0 0xb7693a23 in ?? () from /lib/i386-linux-gnu/libc.so.6
No symbol table info available.
#1 0x080c5e2c in __ebmb_lookup (len=156909700, x=0x95f868c, root=0x95a3f78) at
ebtree/ebmbtree.h:140
node = 0x636f6c2e
node_bit = -1074749688
troot = 0x636f6c2e
pos = 0
side = 135020369
#2 ebmb_lookup (root=0x95a3f78, x=0x95f868c, len=156909700) at
ebtree/ebmbtree.c:31
No locals.
#3 0x0807ce0a in stktable_lookup_key (t=0x95a3f74, key=0x95ec2f0) at
src/stick_table.c:190
eb = 0x0
#4 0x080b7bbd in smp_fetch_src_get_gpc0 (px=0x959a7f8, l4=0x95f8398, l7=0x0,
opt=6, args=0x95a3890, smp=0xbff09f84) at src/session.c:2634
key = 0x95ec2f0
#5 0x080bd8df in acl_exec_cond (cond=0x95a3820, px=0x959a7f8, l4=0x95f8398,
l7=0x0, opt=6) at src/acl.c:1719
suite = 0x95a3920
term = 0x95a3848
expr = 0x95a3860
acl = 0x95a38f8
pattern = 0x959b17c
smp = {flags = 0, type = 0, data = {uint = 0, sint = 0, ipv4 = {s_addr
= 0}, ipv6 = {__in6_u = {__u6_addr8 = '\000' <repeats 15 times>,
__u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {0, 0, 0,
0}}}, str = {str = 0x0, size = 0, len = 0}}, ctx = {p = 0x0, i = 0, ll = 0,
d = 0, a = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}}
acl_res = 0
suite_res = 3
cond_res = 0
#6 0x080ade39 in tcp_exec_req_rules (s=0x95f8398) at src/proto_tcp.c:997
rule = 0x95a3800
ts = 0x95f88e0
t = 0x959b17c
result = 1
ret = 3
#7 0x080b0efc in session_accept (l=0x95a3610, cfd=6, addr=0xbff0a0cc) at
src/session.c:130
p = 0x959a7f8
s = 0x95f8398
t = 0x1
ret = -1
#8 0x080577eb in listener_accept (fd=4) at src/listener.c:389
addr = {ss_family = 2, __ss_align = 50331658,
__ss_padding =
"\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\213\342s\267\320\032u\267p\356r\267\001\000\000\000\001\000\000\000\000\000\000\000\030\031u\267\016\215\004\b\000\000\000\000\005\000\000\000\000\000\000\000\234\211\004\b\230\000\017\bw\000\000\000X\241\360\277\350\003\000\000\000\000\000\000X\241\360\277;\211\005\bX\241\360\277\352\061\f\b\004\000\000\000\000\000\000\000M\245aQ\323\035\r\000\004\000\000"}
laddr = 16
l = 0x95a3610
p = 0x959a7f8
max_accept = 63
cfd = 6
ret = 0
#9 0x080c35f2 in _do_poll (p=0x80fcca0, exp=0) at src/ev_epoll.c:197
new_updt = 1701689066
old_updt = 1
n = 1
e = 1
status = 1
eo = 1
en = 4
fd = 4
opcode = 134566143
count = 0
updt_idx = 0
wait_time = 1000
#10 0x0804c49a in run_poll_loop () at src/haproxy.c:1231
next = 0
#11 0x0804ce94 in main (argc=4, argv=0xbff0a3c4) at src/haproxy.c:1555
err = 0
retry = 200
limit = {rlim_cur = 140011, rlim_max = 140011}
errmsg =
"\000\000\000\000Ȣ\360\277\364/o\267\064\000\000\000\021\000\000\000\021\000\000\000)\200\\\267\b`Y\t\000\000\000\000\064\000\000\000\060\356r\267\001\000\000\000\364\377\016\b\001\000\000\000\064\000\000\000Ȣ\360\277\240Ft\267\037\000\000\000\364\377\016\b\001\000\000\000\060`Y\tȢ\360\277g\377\v\b4`Y\t)\265\f\b"
pidfd = -1
(gdb)