Details
-
Suggestion
-
Resolution: Won't Fix
-
None
-
None
Description
There is no validation in place to check for the current port in use for running the application before allowing the same port to be used in the "AJP13 Bind" field on the "Server Settings" screen.
The config will be saved but the next time on application restart, it will fail with the following error:
2015-06-12 13:45:44,607 ERROR - Could not start server, one of the ports is taken: :8060 (http), :8060 (ajp13): Address already in use java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:382) at java.net.ServerSocket.bind(ServerSocket.java:375) at java.net.ServerSocket.<init>(ServerSocket.java:237) at java.net.ServerSocket.<init>(ServerSocket.java:181) at org.eclipse.jetty.server.bio.SocketConnector.newServerSocket(SocketConnector.java:96) at org.eclipse.jetty.server.bio.SocketConnector.open(SocketConnector.java:85) at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316) at org.eclipse.jetty.server.bio.SocketConnector.doStart(SocketConnector.java:156) at org.eclipse.jetty.ajp.Ajp13SocketConnector.doStart(Ajp13SocketConnector.java:56) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.Server.doStart(Server.java:291) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at com.cenqua.fisheye.web.WebServer.start(WebServer.java:326) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:229) at com.cenqua.fisheye.ctl.Run.main(Run.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:99) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:42)
Workaround
Manually edit the <FISHEYE_INST>/config.xml file and change the port in following section:
<ajp13 bind=":8060"/>
to a port that is not currently in use by any other application and restart Fisheye/Crucible.