Hi,

we are regularly hitting a bug in haproxy leading to a segfault:
[2433667.679923] haproxy[28161]: segfault at 1033eb6d4 ip 00000000004477b0 sp 
00007fff5584c8e0 error 4 in haproxy[400000+a9000]

We are running:
 - haproxy v1.5.3 with multiple frontend/backend, offload SSL ;
 - on Debian 7: Linux **** 3.14-1-amd64 #1 SMP Debian 3.14.7-1 (2014-06-16) 
x86_64 GNU/Linux
 - inside a VMware VM (ESX 5, Intel proc)

Because it affects only one of our clusters, we think it is caused by a 
request, but we are unable to find the one responsible because of the number of 
request per seconds.

Here is a coredump.



root@****:~# gdb /usr/sbin/haproxy /tmp/core-haproxy-11-107-111-28161-1409323204
[...]
warning: no loadable sections found in added symbol-file system-supplied DSO at 
0x7fff55909000
Core was generated by `/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -p 
/var/run/haproxy.pid -D -sf 13'.
Program terminated with signal 11, Segmentation fault.
#0  http_skip_chunk_crlf (msg=0x388ba50) at src/proto_http.c:2113
2113    src/proto_http.c: No such file or directory.
(gdb) bt
#0  http_skip_chunk_crlf (msg=0x388ba50) at src/proto_http.c:2113
#1  http_request_forward_body (s=s@entry=0x388b9a0, req=req@entry=0x343ddf0, 
an_bit=an_bit@entry=8192) at src/proto_http.c:5398
#2  0x0000000000467298 in process_session (t=0x39eb8d0) at src/session.c:1955
#3  0x0000000000411ff5 in process_runnable_tasks (next=0x7fff5584ca1c) at 
src/task.c:238
#4  0x000000000040a25c in run_poll_loop () at src/haproxy.c:1304
#5  0x000000000040799f in main (argc=<optimized out>, argv=<optimized out>) at 
src/haproxy.c:1638
(gdb) backtrace full
#0  http_skip_chunk_crlf (msg=0x388ba50) at src/proto_http.c:2113
        buf = 0x33f36c0
        ptr = 0x1033eb6d4 <Address 0x1033eb6d4 out of bounds>
        bytes = 1
#1  http_request_forward_body (s=s@entry=0x388b9a0, req=req@entry=0x343ddf0, 
an_bit=an_bit@entry=8192) at src/proto_http.c:5398
        txn = 0x388b9e8
        msg = 0x388ba50
#2  0x0000000000467298 in process_session (t=0x39eb8d0) at src/session.c:1955
        max_loops = <optimized out>
        ana_list = 8192
        ana_back = 8192
        flags = 8389122
        s = 0x388b9a0
        rqf_last = 4194304
        rpf_last = 4194304
        rq_prod_last = 7
        rq_cons_last = 7
        rp_cons_last = 7
        rp_prod_last = 7
        req_ana_back = <optimized out>
#3  0x0000000000411ff5 in process_runnable_tasks (next=0x7fff5584ca1c) at 
src/task.c:238
        t = 0x1033eb6d4
#4  0x000000000040a25c in run_poll_loop () at src/haproxy.c:1304
        next = 573931916
#5  0x000000000040799f in main (argc=<optimized out>, argv=<optimized out>) at 
src/haproxy.c:1638
        err = <optimized out>
        retry = <optimized out>
        limit = {rlim_cur = 70153, rlim_max = 70153}
        errmsg = 
"\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000H̄U\377\177\000\000\300̄U\377\177\000\000\025\000\000\000\000\000\000\000\067\016\273\303\317\177\000\000\001",
 '\000' <repeats 15 times>, 
"\001\000\000\000\000\000\000\000\270\373\261\302\317\177\000\000p\324f\002\000\000\000\000\025\000\000\000\000\000\000\000\370\214j"
        pidfd = <optimized out>


Thanks for your help.


--
Romain LE DISEZ

Reply via email to