Known Issue: Web Application Server Port Already in Use When Running FME Server

Liz Sanderson
Liz Sanderson
  • Updated

Symptom

FME Server is not loading in the web browser. All FME services are running but looking in the tomcat log files there is an error similar to the examples below reporting a bind. 

java.net.BindException: Address already in use: bind
java.lang.Exception: Socket bind failed: [730013] An attempt was made to access a socket in a way forbidden by its access permissions.

 

Cause

This occurs when another program is using a port required by the FME Web Application Server Service. This process uses two ports: 

  1. The port that the Web Application Server will connect over, this is set during installation and by default is port 80 on Windows and port 8080 on Linux.
  2. Port 8005. This is the default shut-down port and must be available for the service to run correctly. 


Resolution

Disable or change the port used by services that are using FME Server's port. On Windows, these may include Internet Information Services (IIS), World Wide Web Publishing Service, Windows Remote Management, Microsoft SMS Agent and Skype. On Linux, there may be web servers such as nginx. Alternatively, you may wish to re-configuring FME Server to use a different port to avoid future conflict.  
 

To check what service is using the same port as your web application you can use netstat, in the following commands update <port> to the port number reported in the error.


Windows

  1. To retrieve the PID number of the process using a port open command prompt and run 
    netstat -ano | find "<port>"
  2. The final column is the PID number, to retrieve the service name associated with this PID run
    tasklist /fi "pid eq <PID>"
    This information can also be found in Windows Task Manager under the Details tab. 
  3. If the service name returned does not belong to FME Server this confirms another service is using the port and you will need to free this port in order to successfully access FME Server. To stop the service from using this port you can select 'End Task' from Windows Task Manager. Restart the FME Web Application Server Service and make sure FME now occupies this port. Alternatively, you may wish to re-configure this service or FME Server to use a different port to avoid future conflict.  

Linux

  1. To retrieve the process using a port open a console and as the root user run 
    netstat -apn | grep :<port>
    
  2. If the associated process is not FME related, it is likely to blame, to end the process use 
    kill <PID>
    Restart the FME Web Application Server Service and make sure FME now occupies this port. Alternatively, you may wish to re-configure this service or FME Server to use a different port to avoid future conflict.  

Changing the Port 

Change the Web Application Port

Follow the instructions in our documentation

Change the Shutdown Port (8005)
  1. Run a Text Editor as an Administrator and open server.xml located in <FMEInstallDir>\Utilities\tomcat\conf
  2. Find the line (~line 22)
    <Server port="8005" shutdown="SHUTDOWN">
  3. Change 8005 to another unoccupied port e.g. port 8006. (Tip: confirm your chosen port is unoccupied by using the netstat command above and make sure there is nothing in the response)
  4. Save the file and restart the FME Server Application Server Service
  5. Open the FME Server Web UI and make sure FME Server now loads as expected. 


Troubleshooting

If this doesn't resolve the problem the error may indicate that some other FME Server process did not shut down properly during a restart of FME Server. You'll need to identify and terminate this process. 

  1. Shutdown the FME Server Services.
  2. On Windows open the Task Manager, visit the details tab and sort by "Name". On Linux utilise the ps command to list all running processes.  
  3. Locate processes that begin with 'fme*'. (If you do not see any then this likely isn't the cause of your error message and you should contact Customer Support to investigate.)
  4. Right-click on each process and select "End Process" or use 'kill' in Linux. Do this until no fme* processes remain.
  5. Restart FME Server.

This should clear up the processes and allow FME Server to start in a good state.

If you are still experiencing issues please consult our Web Interface troubleshooting guide, if this does not resolve your problem then contact Safe Software Support.  

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.