Subject | RE: [firebird-support] INET/inet_error: read errno = 10054 |
---|---|
Author | Paul Beach |
Post date | 2018-09-19T06:12:11Z |
> Does anybody know what causes this message in firebird.log?INET/inet_error: read errno = 10054
Winsock.h
WSAECONNRESET 10054 Connection reset by peer.
An existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is
suddenly stopped, the host is rebooted, the host or remote network interface is disabled, or the remote host uses a hard close (see
setsockopt for more information on the SO_LINGER option on the remote socket).
This error may also result if a connection was broken due to keep-alive activity detecting a failure while one or more operations
are in progress. Operations that were in progress fail with WSAENETRESET. Subsequent operations fail with WSAECONNRESET.
This happens if a sockets client is actively sending or receiving data to or from a Firebird Server, and the network connection is
lost. If a client crashes or a network error occurs (for example, an intermediate router goes down), the server has no way of
knowing this, unless it tries to use send(). In this case send fails with the WSAECONNRESET error.
How does an application know that the remote end has terminated the connection? The answer depends on whether the remote end
terminated the connection gracefully or abortively. If the termination was abortive, then send() and recv() calls will fail with the
error WSAECONNRESET.
So, in simpler terms the socket that is the end point of the other connection has gone. Either the Firebird server has crashed, or
the application using the Firebird client has disconnected abnormally (the application may also have crashed). You need to make a
new connection, as the existing connection(s) can no longer be used. If these are infrequent, there is probably nothing to worry
about, a client may have rebooted their system, or has been turned off without disconnecting from the database server. However if
they are frequent, then you need to look at what may be causing the disconnections, either in the application or on the network.
Regards
Paul