Can't start Fisheye due to error 'Address already in use'
Symptoms
Fisheye fails to start-up due to error:
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use: JVM_Bind:8060
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:501)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1059)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
Cause
If this is first time you are running Fisheye/Crucible:
You have another application running on the port (by default it is 8060) which Fisheye/Crucible is configured to run on. This may either be another application server such as Tomcat, Websphere, etc or another Fisheye/Crucible instance that is running on the same server as the Fisheye/Crucible instance you are trying to start.
If you have run Fisheye/Crucible before and you get this error and you are certain no other application server is running:
You may have attempted to start Fisheye, without having fully shutdown your previous Fisheye/Crucible instance.
Resolution
- Make sure there is no other Fisheye instance is currently running (on *nix systems run
ps -ef | grep fisheye
, to check if any processes are running). - Use the
netstat -an
command to find out what process is listening on that port.
OR If another application is using port 8060 legitimately, you can change the port for your Fisheye/Crucible instance. To do so, open the file
FISHEYE_INST/config.xml
and look for the line below (refer to Configuring the Fisheye web server):FISHEYE_INST/config.xml<web-server> <http bind=":8060"/> </web-server>
You need to modify the port(default is 8060) to one that is free on your machine, then restart your server.