Error - Application Failed To Start

Hi all,

I’m running Flowable all-in-one in a docker container. Recently, when booting it up, I was presented with the following error below.

No installation changes occurred during the last time it was booted up successfully until now.

Has anyone ever encountered this issue before? If so, would you be able to elaborate a little more on what caused this and what is meant by the action of "correcting the classpath?

Thank you kindly!
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from
the following location:

org.springframework.boot.autoconfigure.web.embedded.TomcatWebServerFactoryCustomizer.customizeRemoteIpValve(TomcatWebServerFactoryCustomizer.java:189)

The following method did not exist:
'void org.apache.catalina.valves.RemoteIpValve.setHostHeader(java.lang.String)'
The method's class, org.apache.catalina.valves.RemoteIpValve, is available from the 
following locations:

jar:file:/opt/tomcat/lib/catalina.jar!/org/apache/catalina/valves/RemoteIpValve.class
It was loaded from the following location:
file:/opt/tomcat/lib/catalina.jar

Action:
Correct the classpath of your application so that it contains a single, compatible version 
of org.apache.catalina.valves.RemoteIpValve

It looks to be this Spring Boot bug: NoSuchMethodError when deploying to Tomcat 8.5 before 8.5.44 and Tomcat 9 before 9.0.23 · Issue #19308 · spring-projects/spring-boot · GitHub

Are you simply running it is as-is? No changes/customizations?

Hey @Catalyst344,

As Joram mentioned this was indeed a Spring Boot bug which is fixed. However, the Flowable all-in-one image from docker hub does not have this problem. Can you please tell us how you build or where did you get this image?

Cheers,
Filip

Hello @filiphr,

I confirm this issue, it occurred running a container in EKS but not locally. After investigating, I checked that I could avoid error by setting SERVER_FORWARD-HEADERS-STRATEGY: FRAMEWORK and faulty code in spring boot was not invoked. Application finally started, however, this forward-headers-strategy setting was not recommended.
The best approach was to update tomcat version to > 9.0.23 (see comment https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/embedded/TomcatWebServerFactoryCustomizer.java#customizeRemoteIpValve). I’ve tested it with latest tomcat 9.0.34 and everything worked fine