We've been experiencing crashes too, with all 1.8 versions - currently using 1.8.4 from PPA. We noticed that disabling h2 prevents crashes.
Med venlig hilsen *Peter Lindegaard Hansen* *Softwareudvikler / Partner* Telefon: +45 96 500 300 | Direkte: 69 14 97 04 | Email: [email protected] Tiger Media A/S | Gl. Gugvej 17C | 9000 Aalborg | Web: www.tigermedia.dk For supportspørgsmål kontakt os da på [email protected] eller på tlf. 96 500 300 og din henvendelse vil blive besvaret af første ledige medarbejder. 2018-03-23 10:09 GMT+01:00 Holger Amann <[email protected]>: > Hi, > > we had two crashes yesterday within about 2 hours. > > HA-Proxy version 1.8.4-de425f6 2018/02/26 > Copyright 2000-2018 Willy Tarreau <[email protected]> > > Build options : > TARGET = linux2628 > CPU = generic > CC = gcc > CFLAGS = -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement > -fwrapv -Wno-null-dereference -Wno-unused-label > OPTIONS = USE_LINUX_SPLICE=1 USE_LIBCRYPT=1 USE_ZLIB=1 USE_OPENSSL=1 > USE_PCRE=1 > > Default settings : > maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 > > Built with OpenSSL version : OpenSSL 1.1.0f 25 May 2017 > Running on OpenSSL version : OpenSSL 1.1.0f 25 May 2017 > OpenSSL library supports TLS extensions : yes > OpenSSL library supports SNI : yes > OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 > Built with transparent proxy support using: IP_TRANSPARENT > IPV6_TRANSPARENT IP_FREEBIND > Encrypted password support via crypt(3): yes > Built with multi-threading support. > Built with PCRE version : 8.39 2016-06-14 > Running on PCRE version : 8.39 2016-06-14 > PCRE library supports JIT : no (USE_PCRE_JIT not set) > Built with zlib version : 1.2.8 > Running on zlib version : 1.2.8 > Compression algorithms supported : identity("identity"), > deflate("deflate"), raw-deflate("deflate"), gzip("gzip") > Built with network namespace support. > > Available polling systems : > epoll : pref=300, test result OK > poll : pref=200, test result OK > select : pref=150, test result OK > Total: 3 (3 usable), will use epoll. > > Available filters : > [SPOE] spoe > [COMP] compression > [TRACE] trace > > > > root@66b9ab4204d8:/code# gdb /usr/local/sbin/haproxy core > GNU gdb (Debian 7.12-6) 7.12.0.20161007-git > Copyright (C) 2016 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl. > html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /usr/local/sbin/haproxy...done. > [New LWP 10] > > warning: .dynamic section for "/lib64/ld-linux-x86-64.so.2" is not at the > expected address (wrong library or version mismatch?) > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > Core was generated by `/usr/local/sbin/haproxy -f /etc/haproxy.cfg'. > Program terminated with signal SIGSEGV, Segmentation fault. > #0 __eb_delete (node=0x55dae9d8db30, node@entry=0x55dae8bdd230) at > ebtree/ebtree.h:720 > 720 ebtree/ebtree.h: No such file or directory. > (gdb) bt > #0 __eb_delete (node=0x55dae9d8db30, node@entry=0x55dae8bdd230) at > ebtree/ebtree.h:720 > #1 eb_delete (node=node@entry=0x55dae9d8db30) at ebtree/ebtree.c:25 > #2 0x000055dae7bc36f5 in eb32_delete (eb32=0x55dae9d8db30) at > ebtree/eb32tree.h:106 > #3 __task_unlink_wq (t=0x55dae9d8dad0) at include/proto/task.h:145 > #4 task_unlink_wq (t=<optimized out>) at include/proto/task.h:153 > #5 task_delete (t=<optimized out>) at include/proto/task.h:192 > #6 process_stream (t=t@entry=0x55dae9d8dad0) at src/stream.c:2514 > #7 0x000055dae7c3f792 in process_runnable_tasks () at src/task.c:229 > #8 0x000055dae7bf2674 in run_poll_loop () at src/haproxy.c:2399 > #9 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2461 > #10 0x000055dae7b6cfea in main (argc=<optimized out>, argv=0x7ffcff36a218) > at src/haproxy.c:3050 > > > > > global > log /dev/log local0 warning > maxconn 50000 > tune.ssl.default-dh-param 2048 > ssl-default-bind-ciphers > ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS > ssl-default-bind-options no-sslv3 no-tls-tickets > ssl-default-server-ciphers > ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS > ssl-default-server-options no-sslv3 no-tls-tickets > > defaults > log global > mode http > timeout connect 3s > timeout client 30s > timeout server 120s > timeout tunnel 3600s > timeout http-keep-alive 1s > timeout http-request 15s > option http-server-close > option httplog > option forwardfor > errorfile 503 /config/503.html > errorfile 408 /dev/null > > userlist httpauth > user foo bar > > resolvers docker > nameserver docker 127.0.0.11:53 > hold valid 2s > > frontend http > bind 0.0.0.0:80 > reqadd X-Forwarded-Proto:\ http > > acl is_assets hdr_dom(host) -i ${ASSET_HOST} > use_backend varnish-backend if is_assets > default_backend phoenix-backend > > frontend https > bind 0.0.0.0:443 ssl crt > "/letsencrypt/certificates/${CERTIFICATE_NAME}.pem" alpn h2,http/1.1 no-sslv3 > rspadd Strict-Transport-Security:\ max-age=31536000 > > # cowboy crashes when invalid headers are sent > # see https://github.com/ninenines/cowboy/issues/943 > acl invalid_keepalive_header hdr(Connection) -i keep-alive\ Te > reqirep ^Connection:\ keep-alive\ Te Connection:\ keep-alive,\ Te if > invalid_keepalive_header > > acl invalid_keepalive_header_1 hdr(Connection) -i Te\ keep-alive > reqirep ^Connection:\ Te\ keep-alive Connection:\ keep-alive,\ Te if > invalid_keepalive_header_1 > > reqadd X-Forwarded-Proto:\ https > > acl is_assets hdr_dom(host) -i ${ASSET_HOST} > acl is_metrics hdr_dom(host) -i m.foo.com > acl is_graphs hdr_dom(host) -i g.foo.com > acl is_ci hdr_dom(host) -i c.foo.com > > use_backend varnish-backend if is_assets > use_backend prometheus-backend if is_metrics > use_backend grafana-backend if is_graphs > use_backend ci-backend if is_ci > default_backend phoenix-backend > > backend varnish-backend > server varnish varnish:80 resolvers docker init-addr libc,last,none check > port 80 inter 200 > > backend phoenix-backend > option httpchk GET /status > server phoenix phoenix:4000 resolvers docker init-addr libc,last,none check > inter 200 > > backend prometheus-backend > acl auth_ok http_auth(httpauth) > http-request auth realm httpauth unless auth_ok > server prometheus prometheus:9090 resolvers docker init-addr last,none > check port 9090 > > backend grafana-backend > server grafana grafana:3000 resolvers docker init-addr last,none check port > 3000 > > backend ci-backend > server drone-server drone-server:8000 resolvers docker init-addr last,none > check port 8000 > > >

