SupportJPG
  Support Home   |   Search   |   Documentation
ArticleId = kb000170

INFO: Common Acceler8DB Socket Errors

The information in this article applies to:

    • Windows
    • Acceler8DB, Release 4.6 and higher
    • DataGate
    • TCP/IP

SUMMARY:

This Article will help you troubleshoot Acceler8DB errors, such as: "Acceler8DB error: Socket I/O Error" and "Can't get Socket".

MORE INFORMATION:

  • Error 901: Cannot get socket.

This error may be produced by both the ADB client and ADB / DataGate server. However, if the server produces it, you will likely never see it, because the server cannot communicate to a client without its "listening" socket, and thus cannot report errors to a client. The server will most likely simply refuse to start in this case.

The DataGate/400 job log or the NT event log may provide further details of server-side problems. The ADB Windows client produces this error only when it fails in an attempt to connect to a TCP/IP-based server. This failure can occur for any of several reasons. A system error code detailing the failure is returned to the caller. Unfortunately, AVR (the caller) does not reveal the system error code to the user. There are comparatively very few system errors that can cause this to occur however.

Below is a subset of these that are by far the most likely system errors: 

Error Codes:

  • WSAENETDOWN:                     The network subsystem has failed.
  • WSAEAFNOSUPPORT:             The specified address family is not supported.
  • WSAEMFILE:                             No more socket descriptors are available.
  • WSAENOBUFS:                          No buffer space is available. The socket cannot be created.
  • WSAEPROTONOSUPPORT:    The specified protocol is not supported. In each case, the error implies that an unrecoverable error has occurred in the TCP/IP protocol subsystem on the Windows machine.

These should basically "never happen". When they do occur, the approach to fixing the error is to:

  1. Restart the program, and failing that
  2. Restart Windows (the client side).
  • Error 904: Socket I/O error

This error, can only occur when a client or server is receiving information from the other side of a TCP/IP connection. This can occur for any number of reasons, and the system and ADB may be able to recover properly. The server may even be able to return this error to a client. Again, this is likely to be a catastrophic system, ADB, or application error.

Below is the set of causal system errors that apply to our usage of Windows sockets:

Error Codes:

  • WSAENETDOWN:            The network subsystem has failed.
  • WSAENOTCONN:             The socket is not connected.
  • WSAENETRESET:             The connection has been broken due to "keep-alive" activity detecting a failure while the operation was in progress.
  • WSAECONNABORTED:  The virtual circuit was terminated due to a time-out or other failure.
  • WSAECONNRESET:         The virtual circuit was reset by the remote side. Note the WSAENETRESET error. We use "keep-alive" functionality to have the system detect the termination of a connection, and so this could possibly imply a very slow or faulty connection to a server.

These errors also indicate a reboot.

NOTE: If error 904 is received when attempting to access DataGate/400 on the AS/400, you will need to confirm that the DataGate/400 service is running. Click here for more information if DataGate/400 service can not be started.

Other ASNA KB Articles:

Keywords: Socket, I/O, error, TCP/IP, 901, 904

Last Modified Date: 5/8/2003 1:10:55 PM

Copyright © 2005, 2006 ASNA Inc.

  Support Home   |   Search   |   Documentation