Process Server error

I am getting an Error reading socket, ret=100053, errno=(778) on my
process server. I checked on the Progress website and they indicated it
is an OS problem and not a Progress problem and did not give a solution.
I am running Vantage on Windows 2003 service pack 1. I was wondering
if anyone else has the same problem.



ID: P103854
Title: "What is really behind the 778 error and is it caused by a
Progress timeout?"

Created: 05/03/2005

Last Modified: 03/20/2006

Status: Unverified


* What does Progress error 778 mean?

* Is there a timeout between a Progress client and Remote Server that
can cause socket errors?

* Do Progress clients and Remote Servers send acknowledgements between
the processes?

* How are messages sent between clients and remote server processes?

Progress error message 778 reads as follows:

Error <read/writing>%s socket, ret=%i<n>, errno=%E<n>. (778)

This error is due to a problem with a read() or write() function on the
socket. This error is not being caused by Progress. This error can
occur on systems with TCP/IP communication between the server and
client. The error is indicative of a problem on the network layer. This
error is not associated with a timeout being imposed by Progress. This
error occurs because we a processing a socket read or write error.

A Progress client when communicating with a server, will create a
message. The message depending upon its size may be broken into
fragments and each fragment is sent across the wire. The header of the
message indicates the size of the message being sent/received. The
server polls on a socket level
to see if there are any incoming messages. If there are, it blocks on
the read of the message. The server will continue to read the message
until the end of the message, based on the size recorded in the header
of the message. We will read/write one fragment using the read() or
write() system call and then loop around again to read/write the next
fragment. We will continue this process until the whole message has been
sent/received. The server will then perform the necessary action and
send the results back to the client using this same methodology.

There is no acknowledgement being sent between the client and server
with regards to if it received a message or not. Any acknowledgements or
handshaking is performed on a socket level at the TCP layer. But it is
not being done within Progress.

The 778 message is printed by Progress, but is the result of getting a
negative return code from the read() or write() operating system call on
a socket. The read() call is equivalent to a recv() call with no flags
set, and the write() call is equivalent to a send() with no flags set.
When the recv() or send() system call fails, we take the return code
from that call and record it in the 778 message. The error indicates a
problem at the OS networking level, not on the Progress level. The
return code and errno reported in the 778 error can help Progress
Technical Support provide you additional information about where the
failure occurred on a networking layer.

[Non-text portions of this message have been removed]