Wednesday, April 28, 2010

Hudson Address Bind Issue (java.net.BindException: Address already in use)

Hudson is a great software tool, but unfortunately yesterday as soon as I updated my hudson WAR, it stopped working and keeps giving me error below.

java.net.BindException: Address already in use
at java.net.PlainDatagramSocketImpl.bind0(Native Method)
at java.net.PlainDatagramSocketImpl.bind(PlainDatagramSocketImpl.java:82)
at java.net.DatagramSocket.bind(DatagramSocket.java:368)
at java.net.MulticastSocket.(MulticastSocket.java:147)
at java.net.MulticastSocket.(MulticastSocket.java:112)
at hudson.UDPBroadcastThread.(UDPBroadcastThread.java:58)
at hudson.model.Hudson.(Hudson.java:606)
at hudson.WebAppMain$2.run(WebAppMain.java:224)

It happens due to previous hudson application failed to close the port 33848.

It took my 2 hours but finally i was able to find the solution.

This is the line that saves my life :)
-Dhudson.udp=33849

Solution is the simple below line that need to be added in your tomcat's catalina.sh.

JAVA_OPTS="$JAVA_OPTS -Dhudson.udp=33849"


Reference: http://issues.hudson-ci.org/browse/HUDSON-5177

No comments: