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

Reply via email to