Courier error: recv() timed out (29 secs) from ip address 9.39.2.127 [51509]. Request handler type = 134231044
COR_Listen -pt -s32769 -t3600 -d100 (409814.16706.146 0x640d6.4142) ...
Courier error: recv() timed out (29 secs) from ip address 9.39.2.145 [1821]
Files Included
/fnsw/bin/COR_set_recv_timeout
/fnsw/bin/COR_Listen
/fnsw/lib/shobj/COR
How to Determine if a Connection is Waiting on a Client
The existing cormon tool monitors the current state of the client-server connection on the FileNet system.
Here are 2 common courier states that show that the server is waiting for data over the network.
RCV Blocked, waiting for network data
RCVMSG Blocked, waiting for network data
For details on this tool, refer to page 164 of the Image Services System Tools Reference Manual, Release 4.1.2. ftp://public.dhe.ibm.com/software/data/cm/filenet/docs/isdoc/412x/Systools.pdf
Example:
Here is a clip from your cormon output on Sep 16 that shows 3 CSMs stubs that have been waiting over 10 minutes (over 600 seconds).
COMMAND: cormon -p / DATE: Thu Sep 16 12:57:30 EDT 2010
CORH_state Srvr PID ChldPID Prog Time LatestUser@Address
RCVMSG X 450776 0 CSMs 615 eisuserid@10.1.171.137 [1946]
RCVMSG X 1237192 0 CSMs 623 eisuserid@10.33.31.39 [2177]
RCVMSG X 1585330 0 CSMs 628 eisuserid@10.22.40.121 [4124]
What causes a server stub to remain in a RCVMSG state for an extended period?
A server stub will be placed in a RCVMSG state when the IS server sends data back to the client over the network. It will remain in this state until the connection is closed by the client or if the OS tells courier that the network connection no longer exists. This means that any reason why the close is not received could cause this condition. Here are some application and network examples of why a connection may not be closed.
Application Examples
-
The client application is waiting for a user response before sending a close.
-
The client application has a bug that does not always send a close.
-
The client application received a error prior to closing the connection and the connection was not closed during its error handling.
-
The client application aborted before closing the connection.
Network Examples
-
The client application did not received the data from the server for any reason.
-
The client application send a close but, was not received by the server for any reason such as, the packet was dropped.
Common CSMs RPC Example
The eladisp sample below shows typical series of RPCs that will open a CSM connection, place it into RCVMSG state and then close it.
-
A CSMs stub would be opened on the CSM:OpenCsumObject call.
-
The CSMs state would be put into a RCVMSG when the IS server sends data back to the client over the network as a reply to the RPC request.
-
The CSMs connection would be closed and removed from the cormon output when the CSM:CloseObject is received from the client.
eladisp sample of a typical CSMs call
$514 CSM:OpenCsumObject 12:54:31.150 0.00 Secs 0.00 KB
NETID = [1add9e55,000000000000,0000]
-------------------------------------------------------
$842 CSM:ReadObject 12:54:33.850 0.00 Secs 65.54 KB
NETID = [1add9e55,000000000000,0000]
-------------------------------------------------------
$843 CSM:ReadObject 12:54:33.850 0.00 Secs 22.77 KB
NETID = [1add9e55,000000000000,0000]
-------------------------------------------------------
$844 CSM:CloseObject 12:54:33.850 0.00 Secs 0.00 KB
NETID = [1add9e55,000000000000,0000]