Hi! Any news about the reason of these faults? I can mention, that some of our backends set their weights with the help of haproxy agent. Could it be the reason?
чт, 4 апр. 2019 г. в 14:22, Максим Куприянов <[email protected]>: > Hi, everybody! > > Got multiple incidents of failure with 1.9.6: > Core was generated by `/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg > -p /var/run/haproxy'. > Program terminated with signal SIGFPE, Arithmetic exception. > #0 0x0000559afb73c533 in fwrr_update_position (grp=0x559afbd9fb68, > grp=0x559afbd9fb68, s=0x559afcc5f560) at src/lb_fwrr.c:498 > 498 HA_ATOMIC_ADD(&s->npos, (grp->next_weight / s->cur_eweight)); > [Current thread is 1 (Thread 0x7f879677c700 (LWP 776412))] > (gdb) thread apply all bt > > Thread 4 (Thread 0x7f879577a700 (LWP 776414)): > #0 0x00007f87981eba13 in epoll_wait () from > /lib/x86_64-linux-gnu/libc.so.6 > #1 0x0000559afb605c1d in _do_poll (p=<optimized out>, exp=-507048085) at > src/ev_epoll.c:156 > #2 0x0000559afb6a8571 in run_poll_loop () at src/haproxy.c:2675 > #3 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2707 > #4 0x00007f879921b6ba in start_thread () from > /lib/x86_64-linux-gnu/libpthread.so.0 > #5 0x00007f87981eb41d in clone () from /lib/x86_64-linux-gnu/libc.so.6 > > Thread 3 (Thread 0x7f8799a10180 (LWP 776411)): > #0 conn_fd_handler (fd=<optimized out>) at src/connection.c:136 > #1 0x0000559afb72c783 in fdlist_process_cached_events (fdlist=<optimized > out>) at src/fd.c:443 > #2 fd_process_cached_events () at src/fd.c:461 > #3 0x0000559afb6a858d in run_poll_loop () at src/haproxy.c:2678 > #4 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2707 > #5 0x0000559afb60368c in main (argc=<optimized out>, argv=<optimized > out>) at src/haproxy.c:3343 > > Thread 2 (Thread 0x7f8795f7b700 (LWP 776413)): > #0 0x00007f87981eba13 in epoll_wait () from > /lib/x86_64-linux-gnu/libc.so.6 > #1 0x0000559afb605c1d in _do_poll (p=<optimized out>, exp=-507048086) at > src/ev_epoll.c:156 > #2 0x0000559afb6a8571 in run_poll_loop () at src/haproxy.c:2675 > #3 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2707 > #4 0x00007f879921b6ba in start_thread () from > /lib/x86_64-linux-gnu/libpthread.so.0 > #5 0x00007f87981eb41d in clone () from /lib/x86_64-linux-gnu/libc.so.6 > > Thread 1 (Thread 0x7f879677c700 (LWP 776412)): > #0 0x0000559afb73c533 in fwrr_update_position (grp=0x559afbd9fb68, > grp=0x559afbd9fb68, s=0x559afcc5f560) at src/lb_fwrr.c:498 > #1 fwrr_get_next_server (p=0x559afbd9ee40, srvtoavoid=srvtoavoid@entry=0x0) > at src/lb_fwrr.c:568 > #2 0x0000559afb6eccb8 in assign_server (s=s@entry=0x7f8791135aa0) at > src/backend.c:673 > #3 0x0000559afb6ed817 in assign_server_and_queue (s=s@entry=0x7f8791135aa0) > at src/backend.c:963 > #4 0x0000559afb6f0b17 in assign_server_and_queue (s=0x7f8791135aa0) at > include/proto/freq_ctr.h:55 > #5 srv_redispatch_connect (s=s@entry=0x7f8791135aa0) at > src/backend.c:1621 > #6 0x0000559afb66461c in sess_prepare_conn_req (s=0x7f8791135aa0) at > src/stream.c:1160 > #7 process_stream (t=<optimized out>, context=0x7f8791135aa0, > state=<optimized out>) at src/stream.c:2307 > #8 0x0000559afb73105d in process_runnable_tasks () at src/task.c:434 > #9 0x0000559afb6a85a0 in run_poll_loop () at src/haproxy.c:2642 > #10 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2707 > #11 0x00007f879921b6ba in start_thread () from > /lib/x86_64-linux-gnu/libpthread.so.0 > #12 0x00007f87981eb41d in clone () from /lib/x86_64-linux-gnu/libc.so.6 > (gdb) thread 1 > [Switching to thread 1 (Thread 0x7f879677c700 (LWP 776412))] > #0 0x0000559afb73c533 in fwrr_update_position (grp=0x559afbd9fb68, > grp=0x559afbd9fb68, s=0x559afcc5f560) at src/lb_fwrr.c:498 > 498 HA_ATOMIC_ADD(&s->npos, (grp->next_weight / s->cur_eweight)); > (gdb) print s->cur_eweight > $4 = 208 > (gdb) print grp->next_weight > $5 = 36416 > (gdb) print s->npos > $6 = 88637 > > # haproxy -vv > HA-Proxy version 1.9.6-1 2019/03/29 - https://haproxy.org/ > Build options : > TARGET = linux2628 > CPU = generic > CC = gcc > CFLAGS = -O2 -g -O2 -fPIE -fstack-protector-strong -Wformat > -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 > -fno-strict-aliasing -Wdeclaration-after-statement -fwrapv > -Wno-unused-label -Wno-sign-compare -Wno-unused-parameter > -Wno-old-style-declaration -Wno-ignored-qualifiers -Wno-clobbered > -Wno-missing-field-initializers -Wtype-limits > OPTIONS = USE_GETADDRINFO=1 USE_ZLIB=1 USE_REGPARM=1 USE_OPENSSL=1 > USE_LUA=1 USE_SYSTEMD=1 USE_PCRE2=1 USE_PCRE2_JIT=1 USE_TFO=1 USE_NS=1 > > Default settings : > maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 > > Built with OpenSSL version : OpenSSL 1.0.2g 1 Mar 2016 > Running on OpenSSL version : OpenSSL 1.0.2g 1 Mar 2016 > OpenSSL library supports TLS extensions : yes > OpenSSL library supports SNI : yes > OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2 > Built with Lua version : Lua 5.3.1 > Built with network namespace support. > Built with transparent proxy support using: IP_TRANSPARENT > IPV6_TRANSPARENT IP_FREEBIND > 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 PCRE2 version : 10.21 2016-01-12 > PCRE2 library supports JIT : yes > Encrypted password support via crypt(3): yes > Built with multi-threading 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 multiplexer protocols : > (protocols marked as <default> cannot be specified using 'proto' keyword) > h2 : mode=HTX side=FE|BE > h2 : mode=HTTP side=FE > <default> : mode=HTX side=FE|BE > <default> : mode=TCP|HTTP side=FE|BE > > Available filters : > [SPOE] spoe > [COMP] compression > [CACHE] cache > [TRACE] trace > > -- > Best regards, > Maksim Kupriianov >

