Resolving the JVM Bind address is in use error message on portal startup

Document ID : KB000055187
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

This document will describe the necessary steps to resolve a portal startup issue when the port that the portal uses (8080 by default) is in use by another application.

Solution:

Sometimes other applications get installed on the same server that the portal is installed on and can cause a port conflict. Things like other application servers for instance that would use the same default port value as what is used by the Tomcat application server which runs CleverPath Portal.

In a Windows environment, if you start the portal using the services control panel, then the problem will not be as obvious. The service will actually display as started, no error messages are written out and nothing obvious seems wrong with the portal. The only clue would be when you attempt to access the portal in a browser.

A quick refresh of the services control panel will display the service correctly as not started. Viewing the System log in the Event Viewer (Start//Control Panel//Administrative Tools//Event Viewer) will show you an error with the Service Control Manager, and when you double click on that for a more in depth view you will see the message: The CA CleverPath Portal service entered the stopped state.

In a Linux/Unix environment again the error will not be so obvious if the startup script file is launched using nohup. The only clue that something is wrong would be when you try to access the portal in a browser.

In either environment we want to verify what the actual problem is with the startup so we will turn on debugging. To do this, follow these steps:

  1. Open the /portal_install_dir/properties/local.properties file in a text editor

  2. Change the setting debug.mask=0 to debug.mask=65535

  3. Change the setting debug.level=0 to debug.level=10

  4. Save the changes and close the file. Be very careful that there are no leading or trailing spaces on the lines in this file.

At this point the portal will be restarted - however, in a Windows environment do NOT use the service to start the portal. In a Unix environment go ahead and startup the portal normally using the nohup option.

In Windows you will need to open a command window and then navigate to the /portal_install_dir/. Make sure that you have set a scroll back buffer large enough for the command window. To do this right click on the command window title bar and select properties.

Figure 1
Figure 1

Select the Layout tab and under Screen Buffer Size//Height and change this number to 5000

Figure 2
Figure 2

Then click the OK button at the bottom. You will be presented with a second dialog where you need to change the radio button to the Save properties for future windows with same title selection then click OK.

Figure 3
Figure 3

At the command prompt now type portal.bat. This will output the startup information into this command window and with a Java bind exception the startup script will terminate on its own.

Now you can scroll back through the startup output and verify the error message.

In a Linux/Unix environment, after failing to log into the portal, run the ./stopportal.sh script file and then open the nohup.out file to verify the error.

The error message will be: java.net.BindException: Address already in use: JVM_Bind:8080

So, to resolve this you will need to select an open port for the portal to run on. In some cases if there is more than one application server on the machine you will also need to modify the shutdown and AJP13 ports that Tomcat uses. By default those are: 8005 and 8009 respectively. You will need to verify this with your system admin, but instructions on modifying those ports will be included here as well.

For the main portal port two files will be modified. Open the /Portal_Install_Dir/properties/local.properties file in a text editor.

Change the value for host.port= from 8080 (or your current value) to something like 9191.

Make sure there are no leading or trailing spaces on this line, it should now appear as host.port=9191, save the changes and close the file.

Next open the /Portal_Install_Dir/Jakarta-tomcat-4.1.29/conf/server.xml file in a text editor.

In the section marked "Define a non-SSL Coyote HTTP/1.1 Connector on Port 8080" there is a parameter that shows "port=8080". Change this to 9191 so it now reads as "port=9191" - make sure to leave in the quotations as these are required.

If all you need to do is change the startup port, then you can save the changes and close this file and then restart the portal.

If you need to change the shutdown port and possibly the AJP13 port leave this file open.

At the top of the file will be the following line:

 <Server port="8005" shutdown="SHUTDOWN" debug="0">

Change the "8005" to another open port, try 9005.

For the AJP13 port this is located under the section: "Define an AJP 1.3 Connector on port 8009". As with the portal startup port the parameter is "port=8009", change this to 9009 leaving the quotations. Save the changes and close the file and restart the portal.

You will now be able to access the portal using the new 9191 port in the URL such as: http://<portal_server>:9191