IBM Support

Errno 48 or 45B (eaddrinuse) appears after termination and attempt to restart server application

Troubleshooting


Problem

In very rare situations TCPIP port element arrays representing PORTs are not cleaned up properly. This is most commonly caused when an application has terminated due to a non-retryable abend, for example, abend222 (cancel). The connection has to be going through unbind processing at the time the abend occurs or it will still be in the hash table and netstat drop can be used to remove the port reference. Upon attempting to restart the application, the BIND function fails with errno 48 or 45B (eaddrinuse) while trying to bind to the listening port that was previously being used. Netstat displays show no usage of the port and the port is reserved for the applications usage only. The failure still occurs.

Cause

The port element representing port to be bound contains a nonzero use count.

Resolving The Problem

Specify SHAREPORT on the PORT statement for the port to which the application binds until TCPIP can be recycled. For more information, refer to the z/OS Communications Server: IP Configuration Reference

[{"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"All","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"2.1;2.2;2.3","Edition":"All Editions","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
15 June 2018

UID

swg21249437