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
>

Reply via email to