Lisp HUG Maillist Archive

Failed to connect, Operation now in progress for socket


I'm running 64 bit LispWorks 5.1.1 on Linux 2.6.15 and am seeing
"Operation now in progress" errors when I open a socket with timeouts
using COMM:OPEN-TCP-STREAM.  This only seems to happen when my machine
starts to saturate its bandwidth.

Is this expected behavior and just part of the timeout logic?

Once the machine gets into this state I get the EINPROGRESS error for
several hours.  I do have a retry loop in my code, but it usually just
fails all the retries.

If memory serves, this is the behavior I would expect from a non
blocking socket if I was calling the C functions directly and the
connection wasn't ready.  It that case I would start a select with
some timeout.

Slightly massaged backtrace below.

Cheers,
Chris Dean


Call to ERROR (offset 92)
  SYSTEM::ESTRING : "Error making TCP connection: host=~S, service=~S, reason=~@?"
  SYSTEM::EARGS   : ("mysample.sokitomi.com" 80 "~A: ~A (~D)." "Failed to connect" "Operation now in progress" 115)

Catch frame: "<* Catch All Object *>"

Catch frame: "<* Catch All Object *>"

Binding frame:
  FLI::*FOREIGN-OBJECT-SCOPE-STACK-DETAILS* : #(0 NIL NIL)

Catch frame: (NIL)

Call to COMM:CONNECT-TO-TCP-SERVER (offset 2154)
  COMM::HOST          : "mysample.sokitomi.com"
  COMM::SERVICE       : 80
  DBG::|rest-|        : (:ERRORP T :TIMEOUT 20 :LOCAL-ADDRESS NIL :LOCAL-PORT NIL :NODELAY T :KEEPALIVE NIL)
  COMM::ERRORP        : T
  COMM::TIMEOUT       : 20
  COMM::LOCAL-ADDRESS : NIL
  COMM::LOCAL-PORT    : NIL
  COMM::KEEPALIVE     : NIL
  COMM::NODELAY       : T

Call to COMM:OPEN-TCP-STREAM (offset 520)
  COMM::HOSTNAME               : "mysample.sokitomi.com"
  COMM::SERVICE                : 80
  DBG::|rest-|                 : (:ELEMENT-TYPE FLEXI-STREAMS:OCTET :TIMEOUT 20 :READ-TIMEOUT 20 :WRITE-TIMEOUT 20 :ERRORP T)
  COMM::DIRECTION              : :IO
  COMM::ELEMENT-TYPE           : FLEXI-STREAMS:OCTET
  COMM::ERRORP                 : T
  COMM::READ-TIMEOUT           : 20
  COMM::WRITE-TIMEOUT          : 20
  COMM::TIMEOUT                : 20
  COMM::SSL-CTX                : NIL
  COMM::SSL-CONFIGURE-CALLBACK : NIL
  COMM::CTX-CONFIGURE-CALLBACK : NIL
  COMM::DO-HANDSHAKE           : T
  COMM::HANDSHAKE-TIMEOUT      : NIL
  COMM::LOCAL-ADDRESS          : NIL
  COMM::LOCAL-PORT             : NIL
  COMM::NODELAY                : T
  COMM::KEEPALIVE              : NIL


Updated at: 2020-12-10 08:42 UTC