James,

On 4/15/22 12:24, James H. H. Lampert wrote:
This morning, I arrived at work to find that a customer was complaining about their Tomcat server (running on an IBM Midrange box).

It had locked up last night, while being shut down, and now, if you try to start it, it fails with
15-Apr-2022 10:35:34.867 SEVERE [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhost:8005]:   java.net.BindException: The socket name is not available on this system. (Bind failed)

This is an interesting error message.

Usually you'd get this one if the port were already in use:

Exception in thread "main" java.net.BindException: Address already in use (Bind failed)

You can also get this:

Exception in thread "main" java.net.BindException: Can't assign requested address (Bind failed)

This is what happens when you try to bind to a port using an unrecognized hostname (like trying to bind to www.google.com:8009 on your own server).

But "The socket name is not available on this system" is a different beast. I did some quick Googling and found this which may or may not be relevant:

https://www.ibm.com/support/pages/infosphere-change-data-capture-dmconfigurets-error-socket-name-not-available-system

tldr; if "localhost" doesn't resolve to 127.0.0.1 on your system, you may get this error. Can you quickly check it's not a DNS resolution failure?

It might also be an IPv4-vs-IPv6 thing, if "host localhost" (or equivalent on AS/400) returns ::1 instead of 127.0.0.1 (or both).


Try specifying the "address" attribute of <Server> along with the port. Give it a concrete IP address instead of "localhost" and see if that improves things.

It's possible you'll still get a failure when the HTTP connector tries to bind. If that happens, make the same change on the <Connector> and you should be good to go.

-chris

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to