Hi!

Got SIGSEGV in ssl_subscribe function. Happens multiple times per day.
Haproxy was built from trunk with commits upto:
http://git.haproxy.org/?p=haproxy-2.0.git;a=commit;h=9eae8935663bc0b27c23018e8cc24ae9a3e31732

Program terminated with signal SIGSEGV, Segmentation fault.
#0  ssl_subscribe (conn=0x7f51341091f0, xprt_ctx=0x0, event_type=2,
param=0x7f513406c288) at src/ssl_sock.c:5570
5570 ctx->send_wait = sw;
[Current thread is 1 (Thread 0x7f5140b4a700 (LWP 944418))]
(gdb) thread apply all bt

Thread 4 (Thread 0x7f5144567180 (LWP 944416)):
#0  0x00007f5142d42a13 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000562e800eeb68 in _do_poll (p=<optimized out>, exp=-1911724555,
wake=0) at src/ev_epoll.c:156
#2  0x0000562e8018ed59 in run_poll_loop () at src/haproxy.c:2550
#3  run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2634
#4  0x0000562e800ec8b7 in main (argc=<optimized out>, argv=0x7ffd9122f288)
at src/haproxy.c:3308

Thread 3 (Thread 0x7f513bfff700 (LWP 944419)):
#0  0x00007f5142d42a13 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000562e800eeb68 in _do_poll (p=<optimized out>, exp=-1911724555,
wake=0) at src/ev_epoll.c:156
#2  0x0000562e8018ed59 in run_poll_loop () at src/haproxy.c:2550
#3  run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2634
#4  0x00007f5143d726ba in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f5142d4241d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f514134b700 (LWP 944417)):
#0  0x00007f5142d42a13 in epoll_wait () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000562e800eeb68 in _do_poll (p=<optimized out>, exp=-1911724555,
wake=0) at src/ev_epoll.c:156
#2  0x0000562e8018ed59 in run_poll_loop () at src/haproxy.c:2550
#3  run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2634
#4  0x00007f5143d726ba in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f5142d4241d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f5140b4a700 (LWP 944418)):
#0  ssl_subscribe (conn=0x7f51341091f0, xprt_ctx=0x0, event_type=2,
param=0x7f513406c288) at src/ssl_sock.c:5570
#1  0x0000562e801b58c9 in h1_send (h1c=h1c@entry=0x7f513406c210) at
src/mux_h1.c:1932
#2  0x0000562e801b93a6 in h1_io_cb (t=<optimized out>, ctx=0x7f513406c210,
status=<optimized out>) at src/mux_h1.c:2008
#3  0x0000562e80224f55 in process_runnable_tasks () at src/task.c:414
#4  0x0000562e8018ed88 in run_poll_loop () at src/haproxy.c:2513
#5  run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2634
#6  0x00007f5143d726ba in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f5142d4241d in clone () from /lib/x86_64-linux-gnu/libc.so.6

HA-Proxy version 2.0.0-2 2019/06/24 - https://haproxy.org/
Build options :
  TARGET  = linux-glibc
  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_PCRE2=1 USE_PCRE2_JIT=1 USE_REGPARM=1 USE_GETADDRINFO=1
USE_OPENSSL=1 USE_LUA=1 USE_ZLIB=1 USE_TFO=1 USE_SYSTEMD=1

Feature list : +EPOLL -KQUEUE -MY_EPOLL -MY_SPLICE +NETFILTER -PCRE
-PCRE_JIT +PCRE2 +PCRE2_JIT +POLL -PRIVATE_CACHE +THREAD -PTHREAD_PSHARED
+REGPARM -STATIC_PCRE -STATIC_PCRE2 +TPROXY +LINUX_TPROXY +LINUX_SPLICE
+LIBCRYPT +CRYPT_H -VSYSCALL +GETADDRINFO +OPENSSL +LUA +FUTEX +ACCEPT4
-MY_ACCEPT4 +ZLIB -SLZ +CPU_AFFINITY +TFO +NS +DL +RT -DEVICEATLAS
-51DEGREES -WURFL +SYSTEMD -OBSOLETE_LINKER +PRCTL +THREAD_DUMP -EVPORTS

Default settings :
  bufsize = 16384, maxrewrite = 1024, maxpollevents = 200

Built with multi-threading support (MAX_THREADS=64, default=32).
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 the Prometheus exporter as a service

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     mux=H2
              h2 : mode=HTTP       side=FE        mux=H2
       <default> : mode=HTX        side=FE|BE     mux=H1
       <default> : mode=TCP|HTTP   side=FE|BE     mux=PASS

Available services :
prometheus-exporter

Available filters :
[SPOE] spoe
[COMP] compression
[CACHE] cache
[TRACE] trace

--
Best regards,
Maksim Kupriianov

Reply via email to