Overview
| Artifact ID: | f78047d0162a1008c5c170b0dceacdc785378de3c1005f1abc5c24cbcbc4a839 |
|---|---|
| Ticket: | 8b681abb1ef581f72e877392daa449cc24c98a30
Tcl application hangs during connection establishment to server not answering on TLS connection properly. |
| User & Date: | anonymous on 2026-02-04 09:42:33 |
Changes
- foundin changed to:
2.0 tcltls-20260122101940-ba2ee7744c and previous releases
- icomment:
# Description Tcl application hangs during connection establishment to server not answering on TLS connection properly. tcltls has been compiled using TCl/Tk 8.6.17 and openssl 3.5.5 (linux and macos) Problem with tcltls-20260122101940-ba2ee7744c (also present in previous releases): # How to reproduce: start a server with: ``` ncat -l -p 8143 -w 2 ``` In a second shell, start tclsh or width and run the following commands: ``` package require http; package require tls; set tok [http::geturl https://localhost:8143/info -timeout 3000] ``` Application hangs indefinitly until one types 5 characters and return in the ncat window. When compiled with debug output enabled one can see that tcltls hangs in (snippet of output): ``` ... /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tlsIO.c:936:Tls_GetParent():Requested to get parent of channel 0xa0c49a290 /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:104:BioOutput():[chan=0xa0c49a210] BioOutput(bio=0xa0ba66f00, buf=0xa0ac0e000, len=1542) .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:115:BioOutput():[chan=0xa0c49a210] BioOutput(1542) -> 1542 [tclEof=0; tclErrno=0: Undefined error: 0] .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:118:BioOutput():Successfully wrote 1542 bytes of data .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:146:BioOutput():BioOutput returning 1542 .../tcltls-20260122101940-ba2ee7744c/generic/tlsIO.c:936:Tls_GetParent():Requested to get parent of channel 0xa0c49a290 .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:274:BioCtrl():BioCtrl(0xa0ba66f00, 0xb, 0x0, 0x0) .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:336:BioCtrl():Got BIO_CTRL_FLUSH .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:402:BioCtrl():BioCtrl return value 1 .../tcltls-20260122101940-ba2ee7744c/generic/tls.c:158:InfoCallback():Called .../tcltls-20260122101940-ba2ee7744c/generic/tlsIO.c:936:Tls_GetParent():Requested to get parent of channel 0xa0c49a290 .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:176:BioInput():[chan=0xa0c49a210] BioInput(bio=0xa0ba66f00, buf=0xa0b35c003, len=5) .../tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:193:BioInput():[chan=0xa0c49a210] BioInput(buf len=5) -> 5 [tclEof=0; blocked=0; tclErrno=0: Undefined error: 0] ``` Once the input is type in ncat, the process continues: ``` ... /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:196:BioInput():Successfully read 5 bytes of data /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tlsBIO.c:221:BioInput():BioInput returning 5 /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tls.c:244:MessageCallback():Called /opt/projects/prs/dvx1000/src/tcltls-20260122101940-ba2ee7744c/generic/tls.c:244:MessageCallback():Called ... ``` # Rational The process should not hang when the server does not send a proper response to the TLS connection request, especially when a timeout has been specified for the https request.
- login: "anonymous"
- mimetype: "text/x-markdown"
- severity changed to: "Critical"
- status changed to: "Open"
- title changed to:
Tcl application hangs during connection establishment to server not answering on TLS connection properly.
- type changed to: "Code Defect"