Thanks. I notice your first write() is on fd 3 while the 2nd is on stdout (while for me the first 2 are on fd 3, which in my case is the LDAPS socket). For the issue to be reproduced, we need the client to be paused after having send the TLS "client hello". The first time the breakpoint is hit, you should be seeing something like: ``` #0 __GI___libc_write (fd=3, buf=0x555555ace4ab, nbytes=75) at ../sysdeps/unix/sysv/linux/write.c:27 #1 0x00007ffff797b408 in sb_debug_write (sbiod=0x555555ab4810, buf=0x555555ace4ab, len=75) at ../../../../libraries/liblber/sockbuf.c:854 #2 0x00007ffff6bd5a0a in _gnutls_writev_emu (fd=fd@entry=0x55555578f240, giovec=giovec@entry=0x7fffffff9b90, giovec_cnt=giovec_cnt@entry=3, vec=0, session=, session=) at buffers.c:447 #3 0x00007ffff6bd608c in _gnutls_writev (total=126, giovec_cnt=3, giovec=0x7fffffff9b90, session=0x55555578d3d0) at buffers.c:504 #4 _gnutls_io_write_flush (session=session@entry=0x55555578d3d0) at buffers.c:698 #5 0x00007ffff6bd7200 in _gnutls_handshake_io_write_flush (session=session@entry=0x55555578d3d0) at buffers.c:820 #6 0x00007ffff6bd9348 in _gnutls_send_handshake (session=session@entry=0x55555578d3d0, bufel=bufel@entry=0x555555acd620, type=type@entry=GNUTLS_HANDSHAKE_FINISHED) at handshake.c:1335 #7 0x00007ffff6bda4ed in _gnutls_send_finished (again=, session=0x55555578d3d0) at handshake.c:763 #8 send_handshake_final (session=session@entry=0x55555578d3d0, init=init@entry=1) at handshake.c:3098 #9 0x00007ffff6bdcd29 in handshake_client (session=0x55555578d3d0) at handshake.c:2946 #10 gnutls_handshake (session=0x55555578d3d0) at handshake.c:2626 #11 0x00007ffff7bbb183 in tlsg_session_accept (session=0x555555abb070) at tls_g.c:361 #12 0x00007ffff7bb8751 in ldap_int_tls_connect (ld=ld@entry=0x5555557890d0, conn=) at tls2.c:362 #13 0x00007ffff7bb9466 in ldap_int_tls_start (ld=ld@entry=0x5555557890d0, conn=conn@entry=0x555555789500, srv=srv@entry=0x555555789440) at tls2.c:860 #14 0x00007ffff7b912b6 in ldap_int_open_connection (ld=ld@entry=0x5555557890d0, conn=conn@entry=0x555555789500, srv=0x555555789440, async=async@entry=0) at open.c:448 #15 0x00007ffff7ba634d in ldap_new_connection (ld=ld@entry=0x5555557890d0, srvlist=srvlist@entry=0x555555789198, use_ldsb=use_ldsb@entry=1, connect=connect@entry=1, bind=bind@entry=0x0, m_req=m_req@entry=0, m_res=0) at request.c:487 #16 0x00007ffff7b9074a in ldap_open_defconn (ld=ld@entry=0x5555557890d0) at open.c:41 #17 0x00007ffff7ba7908 in ldap_send_initial_request (ld=ld@entry=0x5555557890d0, msgtype=msgtype@entry=96, dn=dn@entry=0x0, ber=0x5555557894a0, msgid=1) at request.c:130 #18 0x00007ffff7b9ab8f in ldap_sasl_bind (ld=0x5555557890d0, dn=0x0, mechanism=, cred=0x5555557692e0 , sctrls=0x0, cctrls=0x0, msgidp=0x7fffffffa2dc) at sasl.c:164 #19 0x000055555555d33b in ?? () #20 0x000055555555844f in ?? () #21 0x00007ffff7388bf7 in __libc_start_main (main=0x5555555581b0, argc=4, argv=0x7fffffffe638, init=, fini=, rtld_fini=, stack_end=0x7fffffffe628) at ../csu/libc-start.c:310 #22 0x000055555555966a in ?? () ``` And we need to make sure the server or client doesn't reject that connection outright. It would worth running "tshark -i any -f 'port 636'" in the mean time to verify the "client hello" is sent and that the server is willing to carry on the connection.