When the socket command within http::geturl raises an error, the stack trace is missing.

<verbatim>
% package require http
2.8.12
% package require tls
1.8.0
% http::register https 443 [list ::tls::socket -tls1] ; # parameter missing to -tls1
443 {::tls::tls_socket -tls1}
% http::geturl
expected boolean value but got "-async"
% set errorInfo
expected boolean value but got "-async"
    while executing
"http::geturl
</verbatim>

The error message was quite surprising to me, as "http::geturl has no argument "-async".

After this checkin [a3bf2db1fd], the error reporting was enhanced to contain full stack trace to show the origin of the issue:

<verbatim>
% package require http
2.8.13
% package require tls
1.8.0
% http::register https 443 [list ::tls::socket -tls1] ; # parameter missing to -tls1
443 {::tls::socket -tls1}
% http::geturl
expected boolean value but got "-async"
% set errorInfo
expected boolean value but got "-async"
    while executing
"tls::import sock0551AF48 -server 0 -tls1 -async"
    ("eval" body line 1)
    invoked from within
"eval [list tls::import] $chan $iopts"
    invoked from within
"::tls::socket -tls1 -async 443"
    ("eval" body line 1)
    invoked from within
"eval $defcmd $sockopts $targetAddr"
    invoked from within
"http::geturl
</verbatim>