Solved

Fixed - Web Application Interface not starting - port 8005 in use?

  • 7 November 2023
  • 1 reply
  • 250 views

Userlevel 4
Badge +36

FIXED

We have encountered a strange problem on FME Server 2020.0.2: all of a sudden the Web Application Interface has stopped working.

This happened right after I terminated a job that had run all weekend.

 

In the logging of FME Server we can see all jobs are still run as usual, so it is just a problem with the Web Application Interface.

 

This appears to be a Tomcat problem. The server runs Apache Tomcat 9.0.24. So we checked the latest catalina.<date>.log file. It contains the following error messages:

06-Nov-2023 09:28:32.913 SEVERE [main] org.apache.catalina.core.StandardServer.await Failed to create server shutdown socket on address [localhost] and port [8005] (base port [8005] and offset [0])
java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:390)
at java.net.ServerSocket.<init>(ServerSocket.java:252)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:584)
at org.apache.catalina.startup.Catalina.await(Catalina.java:721)
at org.apache.catalina.startup.Catalina.start(Catalina.java:667)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
06-Nov-2023 09:28:40.213 WARNING [Catalina-utility-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [fmeapiv4] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

Next we tested the use of port 8005:

> netstat -aof | findstr :8005
TCP 0.0.0.0:8005 <server_name>:0 LISTENING
TCP [..]:8005 <server_name>:0 LISTENING

So if I understand correctly, Tomcat cannot allocate port 8005 (first error message), but it is listening to this port (see testing the port with netstat)?

 

Rebooting the (virtual) server did not change things. 

 

Does anybody have experience with this problem? And can anybody provide a solution?

icon

Best answer by geomancer 9 November 2023, 09:25

View original

1 reply

Userlevel 4
Badge +36

In the end we were able to fix this with a full reboot from inside the server (the earlier reboot was from the management environment of VMWare).

Reply