Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.2.0 crash in SSL library #15

Closed
jaredmauch opened this issue Jun 17, 2019 · 2 comments
Closed

4.2.0 crash in SSL library #15

jaredmauch opened this issue Jun 17, 2019 · 2 comments

Comments

@jaredmauch
Copy link
Contributor

jaredmauch commented Jun 17, 2019

#0  0x00007fd31aed6479 in SSL_shutdown () from /lib64/libssl.so.1.1
#1  0x000055941263b45e in cleanup_tcp_handler (data=0x559423f89d70) at server.c:3000
#2  0x000055941263bae8 in handle_tcp_reading (fd=<optimized out>, event=<optimized out>, arg=0x559423f89d70) at server.c:3188
#3  0x00007fd31ab6cb17 in ?? () from /lib64/libevent-2.1.so.6
#4  0x00007fd31ab6d287 in event_base_loop () from /lib64/libevent-2.1.so.6
#5  0x000055941263ed27 in server_child (nsd=nsd@entry=0x5594126c8c00 <nsd>) at server.c:2652
#6  0x000055941263f145 in restart_child_servers (nsd=nsd@entry=0x5594126c8c00 <nsd>, region=region@entry=0x5594184011d0, netio=netio@entry=0x559422d847b0, xfrd_sock_p=0x55941412e700) at server.c:427
#7  0x000055941263f43c in server_start_children (xfrd_sock_p=<optimized out>, netio=0x559422d847b0, region=0x5594184011d0, nsd=0x5594126c8c00 <nsd>) at server.c:1223
#8  server_reload (nsd=nsd@entry=0x5594126c8c00 <nsd>, server_region=server_region@entry=0x5594184011d0, netio=netio@entry=0x559422d847b0, cmdsocket=26) at server.c:1977
#9  0x000055941263ff99 in server_main (nsd=0x5594126c8c00 <nsd>) at server.c:2270
#10 0x00005594125fe15a in main (argc=<optimized out>, argv=<optimized out>) at nsd.c:1147

(gdb) up
#1  0x000055941263b45e in cleanup_tcp_handler (data=0x559423f89d70) at server.c:3000
3000			SSL_shutdown(data->tls);
(gdb) print data
$1 = (struct tcp_handler_data *) 0x559423f89d70
(gdb) print *data
$2 = {region = 0x55942084bcf0, nsd = 0x5594126c8c00 <nsd>, query = 0x5594241ff460, query_state = QUERY_PROCESSED, event = {ev_evcallback = {evcb_active_next = {tqe_next = 0x0, tqe_prev = 0x5594170526d0}, evcb_flags = 128, evcb_pri = 0 '\000', evcb_closure = 2 '\002', 
      evcb_cb_union = {evcb_callback = 0x55941263b860 <handle_tcp_reading>, evcb_selfcb = 0x55941263b860 <handle_tcp_reading>, evcb_evfinalize = 0x55941263b860 <handle_tcp_reading>, evcb_cbfinalize = 0x55941263b860 <handle_tcp_reading>}, evcb_arg = 0x559423f89d70}, 
    ev_timeout_pos = {ev_next_with_common_timeout = {tqe_next = 0xffffffff, tqe_prev = 0x0}, min_heap_idx = -1}, ev_fd = 30, ev_base = 0x559422ea58b0, ev_ = {ev_io = {ev_io_next = {le_next = 0x0, le_prev = 0x559417ae9130}, ev_timeout = {tv_sec = 120, tv_usec = 0}}, ev_signal = {
        ev_signal_next = {le_next = 0x0, le_prev = 0x559417ae9130}, ev_ncalls = 120, ev_pncalls = 0x0}}, ev_events = 19, ev_res = 2, ev_timeout = {tv_sec = 2642933, tv_usec = 261420}}, bytes_transmitted = 0, query_count = 1, tcp_timeout = 120000, tls = 0x6501300130013001, 
  shake_state = 805398017}

TLS related config in /etc/nsd/nsd.conf

        tls-service-pem: "/etc/letsencrypt/live/puck.nether.net/cert.pem"
        # tls-service-ocsp: "path/to/ocsp.pem"
        tls-port: 853
@wcawijngaards
Copy link
Member

wcawijngaards commented Jun 18, 2019

Hi Jared,
Thanks for the backtrace, I managed to reproduce the issue in debug. There was an uninitialized variable access for (ordinary) TCP access when TLS is configured. The fix is in the commit ec8d14f .

@jaredmauch
Copy link
Contributor Author

jaredmauch commented Jun 18, 2019

I have deployed ec8d14f and will monitor it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants