Problem:
The WebLogic Server does not start. Following errors seen in stdout/stderr/server logs:
***************************************************************************
The WebLogic Server did not start up properly.
Exception raised: ‘weblogic.server.ServerLifecycleException: Server failed to bind to the requested port. See preceeding log message for details.’
Reason: Server failed to bind to the requested port. See preceeding log message for details.
***************************************************************************
Background & Analysis:
In order for a software process to listen at a port on a specific IP address, there should not be any other process already listening to that same port and IP address.
Solution:
(1) Obtain details of the IP address (ListenAddress) and port(ListenPort) at which your WebLogic Server is supposed to listen.
(2) If the host bearing the IP address is unreachable, then contact your Network/System Administrators to ensure that the IP address is associated with a network interface card on the appropriate host.
(3) If the IP address is reachable, use the following commands on the host bearing the IP address (obtained in above step) to determine whether a process is already bound (listening) at the same port and IP address:
On Windows Systems (DOS prompt):
netstat –an | findstr “<IP address>:<port>.*LISTEN”
On UNIX Systems:
netstat –an | grep “<IP address>[\.:]<port>.*LISTEN”
If no software process is listening at the specified IP address and port, then the above commands should not display any output.
Examples:
(a) IP:Port not bound: For a Windows host on which no process listens at port 777 on 110.120.130.140,
C:\netstat -an | findstr "110.120.130.140:777.*LISTEN"
C:\
(b) IP:Port already bound: For a Solaris host on which a WebLogic Server is listening at port 777 on 110.120.130.140,
$ netstat -an | grep "110.120.130.140[\.:]777.*LISTEN"
110.120.130.140.777 *.* 0 0 131072 0 LISTEN
(4) If step (3) indicates that a process is already listening at the port and IP address at which you want your WebLogic Server to listen, then that process needs to be killed (if it’s not meant to be listening there).
(5) After ensuring that no other process is listening at the WebLogic Server ListenAddress and ListenPort, start the WebLogic Server.
NOTE:
-
To obtain the IP address for a domain name, use nslookup (other utilities also available).
-
If your WebLogic Servers are running within a Veritas Cluster Server (VCS) High Availability framework, then the IP address for your servers will be floating and you must execute the above commands on all hosts within the Veritas cluster.
-
This problem and suggested commands are not specific to WebLogic Server processes, but are applicable to all software processes.
Root Cause:
For the problem I experienced, the IP address of the host on which a WebLogic Server was supposed to listen, went missing (error in VCS config caused the IP address to drop off the network interfaces on all the hosts within the VCS cluster) and consequently, was not reachable.
NOTE:
(1) The solution above describes a successful problem-solving experience and may not be applicable to other problems with similar symptoms.
(2) Your rating of this post will be much appreciated. Also, feel free to leave comments.
WebLogic: failed to bind to the requested port,