Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-3652

BindException on elastic agent startup

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Medium
    • None
    • 2.2
    • Elastic Bamboo
    • None

    Description

      Hi,

      I run 2 instances based on the same image (amiId: ami-08dc3b61) and ebs snapshot (snap-13f6037a). I have already did this a few times before, but this time the startup of elastic agent failed with BindException.

      2009-03-13 06:38:09,564 INFO [main] [ElasticAgentBootstrap] Using tunnnelling. Registering 'httpt' and 'httpst' protocols.
      1 [main] INFO com.atlassian.bamboo.agent.elastic.client.ElasticAgentBootstrap  - Using tunnnelling. Registering 'httpt' and 'httpst' protocols.
      2009-03-13 06:38:11,729 INFO [com.sun.sungrid.service.tunnel.server.TunnelServer] [TunnelServer] Waiting for tunnel connection.
      2166 [com.sun.sungrid.service.tunnel.server.TunnelServer] INFO com.sun.sungrid.service.tunnel.server.TunnelServer  - Waiting for tunnel connection.
      2009-03-13 06:38:12,136 INFO [com.sun.sungrid.service.tunnel.server.TunnelServer] [TunnelServer] Accepted tunnel connection.
      2573 [com.sun.sungrid.service.tunnel.server.TunnelServer] INFO com.sun.sungrid.service.tunnel.server.TunnelServer  - Accepted tunnel connection.
      2009-03-13 06:38:12,139 INFO [com.sun.sungrid.service.tunnel.server.TunnelServer] [TunnelServer] Waiting for tunnel connection.
      2576 [com.sun.sungrid.service.tunnel.server.TunnelServer] INFO com.sun.sungrid.service.tunnel.server.TunnelServer  - Waiting for tunnel connection.
      2009-03-13 06:38:12,214 INFO [com.sun.sungrid.service.tunnel.server.TunnelServer] [TunnelServer] Accepted tunnel connection.
      2651 [com.sun.sungrid.service.tunnel.server.TunnelServer] INFO com.sun.sungrid.service.tunnel.server.TunnelServer  - Accepted tunnel connection.
      2009-03-13 06:38:12,215 INFO [com.sun.sungrid.service.tunnel.server.TunnelServer] [TunnelServer] Waiting for tunnel connection.
      2652 [com.sun.sungrid.service.tunnel.server.TunnelServer] INFO com.sun.sungrid.service.tunnel.server.TunnelServer  - Waiting for tunnel connection.
      2009-03-13 06:38:12,571 INFO [pool-1-thread-3] [LocalAcceptor] Waiting for local connection on port 4527.
      3008 [pool-1-thread-3] INFO com.sun.sungrid.service.tunnel.server.LocalAcceptor  - Waiting for local connection on port 4527.
      2009-03-13 06:38:12,677 ERROR [pool-1-thread-2] [TunnelAcceptor] Error while accepting tunnel connections.
      java.net.BindException: Address already in use
      	at java.net.PlainSocketImpl.socketBind(Native Method)
      	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
      	at java.net.ServerSocket.bind(ServerSocket.java:319)
      	at java.net.ServerSocket.<init>(ServerSocket.java:185)
      	at java.net.ServerSocket.<init>(ServerSocket.java:97)
      	at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:156)
      	at com.sun.sungrid.service.tunnel.server.TunnelAcceptor.run(TunnelAcceptor.java:93)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      	at java.lang.Thread.run(Thread.java:595)
      3114 [pool-1-thread-2] ERROR com.sun.sungrid.service.tunnel.server.TunnelAcceptor  - Error while accepting tunnel connections.
      java.net.BindException: Address already in use
      	at java.net.PlainSocketImpl.socketBind(Native Method)
      	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
      	at java.net.ServerSocket.bind(ServerSocket.java:319)
      	at java.net.ServerSocket.<init>(ServerSocket.java:185)
      	at java.net.ServerSocket.<init>(ServerSocket.java:97)
      	at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:156)
      	at com.sun.sungrid.service.tunnel.server.TunnelAcceptor.run(TunnelAcceptor.java:93)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      	at java.lang.Thread.run(Thread.java:595)
      

      Here is the output of netstat

      # netstat -lnp 
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
      tcp        0      0 0.0.0.0:1666                0.0.0.0:*                   LISTEN      1771/p4d            
      tcp        0      0 :::3690                     :::*                        LISTEN      8909/svnserve       
      tcp        0      0 :::4527                     :::*                        LISTEN      1434/java           
      tcp        0      0 :::26224                    :::*                        LISTEN      1434/java           
      tcp        0      0 :::22                       :::*                        LISTEN      883/sshd            
      udp        0      0 0.0.0.0:68                  0.0.0.0:*                               788/dhclient        
      Active UNIX domain sockets (only servers)
      Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
      unix  2      [ ACC ]     STREAM     LISTENING     2713   866/dbus-daemon     /var/run/dbus/system_bus_socket
      # ps -ocmd -p 1434
      CMD
      java -server -Xms32m -Xmx512m -XX:MaxPermSize=256m -cp /opt/bamboo-elastic-agent/bin/../lib:/opt/bamboo-elastic-agent/bin/../lib/spring-jdbc-2.0.7.jar:/opt/bamboo-elastic-agent/bin/../lib/webwork-2.2.5.jar:/opt
      

      Bamboo elastic agent process has 2 sockets open for listening - 4527 and 26224. When I compare it with the second instance where the startup succeeded I can see that there should be a third socket open - 46593. Probably opening of that socket was the problem. But I cannot see nothing that occupies that port. So maybe it was a hazard between 2 threads of the same app?

      Cheers,
      Lucas

      Attachments

        Activity

          People

            Unassigned Unassigned
            lguminski Lucas Guminski [Atlassian]
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: