Hi Tim,

Strange, I can reproduce it all the time on my debian9 testing env,
anyway here are some addition crash backtraces.
Let me know if you need my help to reproduce it.

$ ./haproxy -vv
======================================
...
Built with OpenSSL version : OpenSSL 1.1.0j  20 Nov 2018
Running on OpenSSL version : OpenSSL 1.1.0j  20 Nov 2018
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports : TLSv1.0 TLSv1.1 TLSv1.2
...
======================================

======================================
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7034c89 in OPENSSL_sk_pop_free () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
(gdb) bt
#0  0x00007ffff7034c89 in OPENSSL_sk_pop_free () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
#1  0x00007ffff704a78f in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
#2  0x00007ffff704a82e in X509_VERIFY_PARAM_free () from
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
#3  0x00007ffff733df5c in SSL_free () from
/usr/lib/x86_64-linux-gnu/libssl.so.1.1
#4  0x00005555555839f8 in ssl_sock_close (conn=<optimized out>,
xprt_ctx=0x555555afae30) at src/ssl_sock.c:6004
#5  0x00005555555c4b6a in conn_xprt_close (conn=0x555555b001a0) at
include/proto/connection.h:101
#6  conn_full_close (conn=0x555555b001a0) at include/proto/connection.h:144
#7  sess_update_st_con_tcp (s=0x555555b010e0) at src/stream.c:679
#8  process_stream (t=t@entry=0x555555aff760, context=0x555555b010e0,
state=<optimized out>) at src/stream.c:1884
#9  0x00005555556a42df in process_runnable_tasks () at src/task.c:393
#10 0x00005555556054c9 in run_poll_loop () at src/haproxy.c:2438
#11 run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2503
#12 0x000055555557557b in main (argc=<optimized out>, argv=<optimized
out>) at src/haproxy.c:3174
======================================
======================================
Program received signal SIGSEGV, Segmentation fault.
0x0000555555b07950 in ?? ()
(gdb) bt
#0  0x0000555555b07950 in ?? ()
#1  0x00005555556a452a in process_runnable_tasks () at src/task.c:395
#2  0x00005555556054c9 in run_poll_loop () at src/haproxy.c:2438
#3  run_thread_poll_loop (data=<optimized out>) at src/haproxy.c:2503
#4  0x000055555557557b in main (argc=<optimized out>, argv=<optimized
out>) at src/haproxy.c:3174
(gdb)
======================================

Regards,
Alexander Liu

On Sun, Apr 28, 2019 at 9:14 PM Tim Düsterhus <[email protected]> wrote:
>
> Alec,
>
> Am 28.04.19 um 15:05 schrieb Alec Liu:
> > Hi Tim,
> >
> > Sorry for the confusing.
> > The HTTP frontend I am talking about is http://localhost:20080. It is
> > the one get relay to the HTTPS(169.38.103.48:443) backend,
> >
> > You can just use the web browser to open "http://localhost:20080";.
> > Let me know if you can reproduce it, thx.
>
> I'm afraid I still can't reproduce a crash, but I can confirm that I saw
> some issues within valgrind in ssl_sock.c (so CC'ing Emeric here):
>
> ==22812== Conditional jump or move depends on uninitialised value(s)
> ==22812==    at 0x4172CE: ssl_sock_from_buf (ssl_sock.c:5848)
> ==22812==    by 0x538967: mux_pt_snd_buf (mux_pt.c:282)
> ==22812==    by 0x4FA0CA: si_cs_send (stream_interface.c:688)
> ==22812==    by 0x4FA85E: si_cs_process (stream_interface.c:570)
> ==22812==    by 0x539C63: mux_pt_wake (mux_pt.c:119)
> ==22812==    by 0x51BBC0: conn_fd_handler (connection.c:190)
> ==22812==    by 0x52E3EF: fdlist_process_cached_events (fd.c:452)
> ==22812==    by 0x52E3EF: fd_process_cached_events (fd.c:470)
> ==22812==    by 0x495225: run_poll_loop (haproxy.c:2474)
> ==22812==    by 0x495225: run_thread_poll_loop (haproxy.c:2503)
> ==22812==    by 0x40A871: main (haproxy.c:3174)
> ==22812==
>
> and
>
> ==22812== Thread 2:
> ==22812== Conditional jump or move depends on uninitialised value(s)
> ==22812==    at 0x41D1CB: ssl_sock_handshake (ssl_sock.c:5541)
> ==22812==    by 0x51BDC3: conn_fd_handler (connection.c:88)
> ==22812==    by 0x52E3EF: fdlist_process_cached_events (fd.c:452)
> ==22812==    by 0x52E3EF: fd_process_cached_events (fd.c:470)
> ==22812==    by 0x495225: run_poll_loop (haproxy.c:2474)
> ==22812==    by 0x495225: run_thread_poll_loop (haproxy.c:2503)
> ==22812==    by 0x50796B9: start_thread (pthread_create.c:333)
> ==22812==    by 0x5C4C41C: clone (clone.S:109)
> ==22812==
>
> Possibly my OpenSSL is too old to reproduce your crash.
>
> Best regards
> Tim Düsterhus

Reply via email to