Hello All,
I'm seeing a segfault in 1.5.2 and 1.5.3 (haven't tried others) after a
connection has transferred 16 GB of data. Any advice would be appreciated.
(gdb) bt
#0 http_skip_chunk_crlf (msg=0x214c250) at src/proto_http.c:2113
#1 http_request_forward_body (s=0x214c1a0, req=0x21b1500,
an_bit=<optimized out>)
at src/proto_http.c:5398
#2 0x0000000000466e5f in process_session (t=0x2209a40) at
src/session.c:1955
#3 0x000000000041182d in process_runnable_tasks (next=0x7fffa2c6a06c) at
src/task.c:238
#4 0x0000000000409a3c in run_poll_loop () at src/haproxy.c:1304
#5 0x000000000040719d in main (argc=<optimized out>, argv=<optimized out>)
at src/haproxy.c:1638
(gdb) frame 0
#0 http_skip_chunk_crlf (msg=0x214c250) at src/proto_http.c:2113
2113 if (*ptr == '\r') {
(gdb) info locals
buf = 0x22163d0
ptr = 0x10220e3eb <Address 0x10220e3eb out of bounds>
bytes = 1
(gdb) info reg
rax 0x10220e3eb 4330677227
rbx 0x214c1a0 34914720
rcx 0x21b1500 35329280
rdx 0x22163d0 35742672
rsi 0x4000 16384
rdi 0x8221046b 2183201899
rbp 0x21b1500 0x21b1500
rsp 0x7fffa2c69f20 0x7fffa2c69f20
r8 0x221a3e4 35759076
r9 0x10220e3eb 4330677227
r10 0x80001f80 2147491712
r11 0x7f24fdd4f6d0 139796854142672
---Type <return> to continue, or q <return> to quit---
r12 0x214c250 34914896
r13 0x0 0
r14 0x80001f80 2147491712
r15 0x214c1e8 34914792
rip 0x447436 0x447436 <http_request_forward_body+566>
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
My config looks like this:
defaults
log global
maxconn 8000
option redispatch
retries 3
stats enable
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout check 10s
listen service-name
bind :::PORT ssl crt /path/to/host.crt.pem ca-file /path/to/ca.pem
balance source
mode http
server FQDN1 IP1:PORT check ca-file /path/to/ca.pem crt
/path/to/host.crt.pem ssl
server FQDN2 IP2:PORT check ca-file /path/to/ca.pem crt
/path/to/host.crt.pem ssl
Thanks in advance,
James Dempsey