000023975 - AxM - java.net.BindException: Address already in use: JVM_Bind<?xml:namespace prefix = o ns = 'urn:schemas-microsoft-com:office:office'

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000023975
Applies ToClearTrust Authorization Server 6.0
Microsoft Windows 2000 Server SP3

java.net.BindException: Address already in use: JVM_Bind

java.net.BindException: Address already in use: JVM_Bind
         at java.net.PlainSocketImpl.socketBind(Native Method)
         at java.net.PlainSocketImpl.bind(Unknown Source)
         at java.net.ServerSocket.bind(Unknown Source)
         at sirrus.util.net.SocketFactory.createServerSocket(SocketFactory.java:539)
         at sirrus.dispatcher.AuthListRequestHandler.<init>(AuthListRequestHandler.java:82)
         at sirrus.dispatcher.AuthorizationDispatcher.<init>(AuthorizationDispatcher.java:319)
         at sirrus.dispatcher.AuthorizationDispatcher.main(AuthorizationDispatcher.java:529)

Dispatcher/Key Server initialization failed.

This problem is commonly caused on Windows systems where a system service has already started the Dispatcher/Keyserver.  The administrator is unaware of this and tries to start the process manually by running the .\bin\dispatcher.bat start script.

The symptom an also be seen where administrative access to the system is being managed via Microsoft Terminal Servers and the administrator has used Remote Desktop to connect in.  The problem is that they have been presented with another terminal session and that the original terminal session is running an existing Dispatcher in the other session.

A third, possible option is the most fundamental, some other totally unrelated application is using the TCP port numbers which have been configured for the dispatcher/keyserver service.

ResolutionA series of operating system commands may be used to identify which of the potential causes is to blame.

Firstly, review the .\conf\dispatcher.conf and .\conf\keyserver.conf files to identify the port numbers involved, you will need to locate the following entries (the default values are shown here as well)

   cleartrust.dispatcher.instrumentation.listen.port=5812               (note: this entry is commonly commented out as it is not used in most systems)



Now, identify what processes are using any of these ports.  The command to use is "netstat -ano", a sample of the output is shown below (unrelated lines have been removed)


C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP               LISTENING       1632
  TCP               LISTENING       1632
  TCP               LISTENING       1632
  TCP               LISTENING       1632



This confirms that the ports are being used by something (the fact that all the ports involved are being used gives a clue that it is likely to be an existing Access Manager service, if only one had been found then it would be more likely to have been a totally unrelated application.


Now, we use the command tasklist to confirm our findings, firstly to check if it where it is actually an automated service which is running (again only the related lines are shown here):

C:\>tasklist /svc

Image Name                   PID Services
========              =======================
jservice.exe                1596 RSAaserver60
jservice.exe                1632 RSAdispatch60
jservice.exe                1652 RSAeserver60



Here we can see that in fact Access Manager has been started as Windows services so does not need to be started manually.


An alternative result might have been found where the processes have been started in a different terminal services session (again only the related lines are shown):


C:\>tasklist /v

Image Name                PID      Session Name           Session#        Mem Usage      Status          User Name                  CPU Time                          Window Title

============= ==== ============ ======== ========= ======= ============= =============== ================================
java.exe                     412      Console                     0                   20,592 K            Running       MYSERVER\jdoe         0:00:03                             N/A



This tells us that a user(called jdoe)  is currently logged in on the console of the computer and has already started the process.


For both instances where the process is already running there is nothing more to resolve.  Where the issue is that the port number is being used by another application then either RSA Access Manager or the other application will need to be reconfigured.


See also:

     a14082     Error: "java.lang.NumberFormatException" when starting Dispatcher
     a35504     Dispatcher fails with java OutOfMemoryError

     a35358     IIS, CT 5.5.3-122: dispatcher denial of service (timeout) at socket level

For details on how to use the Microsoft netstat command see the Microsoft online documentation at http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netstat.mspx?mfr=true


For details on how to use the Microsoft command tasklist see the Microsoft online documentation at http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/tasklist.mspx?mfr=true


Additional documentation on running RSA Access Manager processes may be found in documentation supplied with the software as well as online copies available in RSA SecurCare Online




RSA Access Manager 6.0 Servers Installation and Configuration Guide




Legacy Article IDa36354