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