Unable to start 360Suite when tomcat uses slf4j

Unable to start 360Suite when tomcat uses slf4j

Symptom

  • tomcat root page is available

  • /360suite url returns 404 error

  • in tomcat/logs/localhost-{date}.log an error appears on 360Suite startup

 

03-May-2021 07:51:22.858 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class com.gbs.three60.suite.gui.Three60ContextListener java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader 'org.apache.catalina.loader.ParallelWebappClassLoader@4a340715 (urls: ['], parents: [)'java.net.URLClassLoader@30c7da1e']) of the current class, org/slf4j/LoggerFactory, and the class loader 'java.net.URLClassLoader@30c7da1e (urls: ['], parents: [)'System']) for resolved class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature

Environment

  • Product : 360Suite

  • You configured your tomcat to log with slf4j or other application is configured to log with slf4j but with an older version than the one embedded in 360Suite

Cause

Your class loader detect a conflict between the two versions of slf4j.

Resolution

1) If you configured 360 tomcat to log with slf4j

For example following this documentation.

  • stop tomcat

  • go to the directory where you put your jul-to-slf4j jar file

  • detect the version you selected

  • download the jcl-over-slf4j version matching the one you found (https://mvnrepository.com/artifact/org.slf4j/jcl-over-slf4j)

  • add it to the upper directory

  • in webapps/360.suite/WEB-INF/lib delete slf4j-api and jcl-over-slf4j jar files

  • start tomcat

2) If 360.suite is in conflict with another application

  • stop tomcat

  • in webapps/360.suite/WEB-INF/lib delete slf4j-api and jcl-over-slf4j jar files

  • start tomcat

The only side effect will be that logs from SMB transfer will be less verbose.

    • Related Articles

    • 360Suite database configuration is not set when restarting Tomcat server

      Symptoms On application startup, a warning popup appears In the Administration console, the database configuration is empty even though is was setup previously Environment 360Suite Web Platform Linux server (all) Additional symptoms : tomcat logs In ...
    • Tomcat memory issue

      Symptoms Relevant information: Error about memory issue in a 360Suite task Error message(s): "java.lang.OutOfMemoryError: GC overhead limit exceeded" Information location: Visible in the task logs and / or the tomcat logs Environment Product: ...
    • Unable to create system preferences directory

      Condition The Apache Tomcat server log returns the following error on start-up: Could not create system preferences directory. System preferences are unusable Solution Cause This error occurs if the server is started using a user or service account ...
    • What are the proper steps to set up the Tomcat service account for Web Platform?

      Symptom How to configure 360Suite Web Platform to use a Windows domain service account to run the 360Suite Windows Service, if it is not an Administrator on the server, i.e. the Tomcat user? Environment 360Suite Web Platform Cause The issue is ...
    • Change Tomcat after 2025.1 upgrade

      Context To prepare for BI 2025 moving away from Java 8, we migrated from Java 8 to Java 21. This migration impacts everyone doing update from previous version, as the version used for Tomcat is not compatible anymore, as Java 21 requires a Tomcat 10 ...