Hello,

im getting segfault, it happens on 1 of ~500 million requests that are processed on haproxy 1.6.2-2 on debian wheezy and jessie (systems updated, crash stayed).

If you need more informations, let me know.

Thank You.

Trace:
(gdb) thread apply all bt full

Thread 1 (Thread 0x7fd811254700 (LWP 19002)):
#0 __memmove_ssse3_back () at ../sysdeps/x86_64/multiarch/memcpy-ssse3-back.S:1652
No locals.
#1  0x0000000000413349 in buffer_insert_line2 (b=0x1e47a70,
pos=0x1e47acb "ntent-Type: text/html; charset=UTF-8\r\nTransfer-Encoding: chunked\r\n\r\n1b9\r\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\";>\n<html"..., str=0x513979 "Connection: close",
    len=17) at src/buffer.c:126
        delta = 19
#2 0x000000000046f6b9 in http_header_add_tail2 (msg=0x2978910, hdr_idx=0x29788b0, text=0x513979 "Connection: close", len=17) at src/proto_http.c:595
        bytes = 19706248
#3 0x0000000000472a36 in http_change_connection_header (txn=0x29788b0, msg=0x2978910, wanted=4194304) at src/proto_http.c:2068 ctx = {line = 0x0, idx = 0, val = 0, vlen = 26108128, tws = 0, del = -57605088, prev = 32765}
        hdr_val = 0x513979 "Connection: close"
        hdr_len = 17
#4 0x000000000047a179 in http_process_request (s=0x2978540, req=0x2978550, an_bit=512) at src/proto_http.c:4800
        want_flags = 4194304
        sess = 0x158a4d0
        txn = 0x29788b0
        msg = 0x2978910
        cli_conn = 0x18e60e0
#5  0x00000000004bf1dc in process_stream (t=0x158a560) at src/stream.c:1807
        max_loops = 199
        ana_list = 8704
        ana_back = 8704
        flags = 8388641
        srv = 0x0
        s = 0x2978540
        sess = 0x158a4d0
        rqf_last = 8388640
        rpf_last = 2151677952
        rq_prod_last = 7
        rq_cons_last = 7
        rp_cons_last = 7
        rp_prod_last = 7
        req_ana_back = 4237362608
        req = 0x2978550
        res = 0x2978590
        si_f = 0x2978738
        si_b = 0x2978758
#6  0x000000000041a9bf in process_runnable_tasks () at src/task.c:238
        t = 0x158a560
        max_processed = 0
#7  0x000000000040c023 in run_poll_loop () at src/haproxy.c:1559
        next = 1736300278
#8 0x000000000040ccd9 in main (argc=8, argv=0x7ffdfc910858) at src/haproxy.c:1912
        err = 0
        retry = 200
        limit = {rlim_cur = 80049, rlim_max = 80049}
errmsg = "\000\026%\001", '\000' <repeats 12 times>, "p\026%\001\000\000\000\000\003", '\000' <repeats 16 times>, "\205%\021\330\177\000\000=\005\000\000\000\000\000\000\025\210`\020\330\177\000\000\320\325t", '\000' <repeats 17 times>, "\002\000\000\000\026\000\000\000\000\000\000\000\060\a\221", <incomplete sequence \374>
        pidfd = 10
(gdb)

Config:

global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private
        maxconn 40000
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

        tune.ssl.default-dh-param 2048

        #custom lua script for clicks clounting
        lua-load /etc/haproxy/lua/click-stats.lua

defaults
        log global
        mode    http
        option  dontlognull
        option  dontlog-normal
log-format %ci:%cp\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ST\ %B\ %CC\ %CS\ %tsc\ %ac/%fc/%bc/%sc/%rc\ %sq/%bq\ %hr\ %hs\ %{+Q}r

        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http
        maxconn 40000

frontend incoming
        bind *:80
        bind *:443 ssl crt /etc/haproxy/ssl/cert.comb
        http-request set-header S-Forwarded-Proto https if { ssl_fc }
        option http-server-close
        option forwardfor except 172.16.0.0/12 header S-Forwarded-For

        capture request  header    Host                 len 500

        acl is_favicon path_reg ^/favicon.ico
        use_backend notfound if is_favicon

        default_backend delivery

backend notfound
        errorfile 503 /etc/haproxy/errors/404.http
        http-request set-log-level silent

backend delivery
        balance leastconn
        mode http

        option httpchk HEAD / HTTP/1.1\r\nHost:\ sdfkjsndhebsdf.com
        option http-server-close
        option allbackups

        http-request lua.track-clicks
        http-response lua.track-responses

        server localhost localhost:88 check inter 5000

        server ... ....:80 maxconn 500 check inter 5000 backup

--
Mit freundlichen Grüßen  /  Best regards,
B.Sc. Bernd Michael Helm


--
Helm & Walter IT-Solutions GbR
Müglitztalstr. 63
D-01809 Dohna
Tel.: +49 3529 529129
Fax.:  +49 3529 2348140
Mobile: +49 151 21240208
Email: bernd.h...@helmundwalter.de
WWW: https://www.helmundwalter.de


Reply via email to