KB-1099 Application server either fails to start with "Address already in use: bind / [IP]:[Port]" error thrown or 503 service unavailable error encountered

Symptoms

When starting the application server, the application server either fails to start up, or if it does start, an HTTP 503 status code is encountered when attempting to access the login page:

The following error is also printed in application server log:

Caused by: java.net.BindException: Address already in use: bind

Cause

This error message is returned when the service printed in the error message can't be started. This means that the port defined in the error message is already being used. Ports can be defined in the following files:

Tomcat 

server.xml located in <APPIAN_HOME>/tomcat/apache-tomcat/conf

JBoss 

standalone.xml located in <JBOSS_HOME>/standalone/configuration

Action

Make sure that the port defined for the problematic service is free. To identify if there is a running process on that port, and identify that process's PID:

Linux

Run the following command: netstat -pnltu | grep -i "<PORT>" 

If there is a running process on the port, you can kill the process with the following command: kill -9 <PID>

Windows

  1. Open an Administrator Command Prompt and run the following command: netstat -a -b -o | findstr "<PORT>"
  2. Open Task Manager, navigate to the "Performance" tab, and at the bottom click "Open Resource Monitor." From here, you can view listening ports and their respective PIDs.

If there is a running process on the port, you can kill the process with the following command: taskkill /F /PID <PID>

Note: If it is not possible to liberate the default port, it is possible to manually modify the desired port by changing the value for the service in standalone.xml or server.xml for JBoss and Tomcat respectively.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: November 2019

Related
Recommended