DWP 19.02 - Tomcat Shutdown throwing AsyncFileHandler Errors

Version 1
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    MyIT Digital Workplace


    APPLIES TO:

    DWP A 19.02



    PROBLEM:

    Below error is observed during shutdown of DWP process.
     

      -bash-4.2$ ./DWP/apache/bin/shutdown.sh
    Using CATALINA_BASE: /opt/bmc/DWP/apache
    Using CATALINA_HOME: /opt/bmc/DWP/apache
    Using CATALINA_TMPDIR: /opt/bmc/DWP/apache/temp
    Using JRE_HOME: /opt/bmc/java/jdk1.8.0_92/jre
    Using CLASSPATH: /opt/bmc/DWP/apache/external-conf:/opt/bmc/DWP/apache/bin/bootstrap.jar:/opt/bmc/DWP/apache/bin/tomcat-juli.jar
    Can't load log handler "1catalina.org.apache.juli.AsyncFileHandler"
    java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler
    java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.util.logging.LogManager$5.run(LogManager.java:965)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:958)
    at java.util.logging.LogManager.addLogger(LogManager.java:1165)
    at java.util.logging.LogManager$2.run(LogManager.java:349)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:338)
    at java.util.logging.LogManager.getLogManager(LogManager.java:378)
    at java.util.logging.Logger.demandLogger(Logger.java:448)
    at java.util.logging.Logger.getLogger(Logger.java:502)
    at org.apache.juli.logging.DirectJDKLog.<init>(http://DirectJDKLog.java:68)
    at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:188)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141)
    at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196)
    at org.apache.catalina.startup.Bootstrap.<clinit>(http://Bootstrap.java:52)
    Can't load log handler "1catalina.org.apache.juli.AsyncFileHandler"
    java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler
    java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

     


    CAUSE:

    The -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager option is not present under /opt/apache/tomcat8.5/bin/setenv.sh This is already fixed in 19.08 DRIIT-36968


    SOLUTION:

    Added -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager  in Java options of the Tomcat setenv.sh



    Here's an example:

     
    #Place this file to your %CATALINA_BASE%/bin  
    # Do not try to setup following as env variables. They need to be configured in %CATALINA_BASE%/bin/setenv.sh  
     
      export JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" 
    export CATALINA_OPTS="-Dlog4j.configuration=file:${CATALINA_BASE}/external-conf/log4j-config.xml  
    -Xmx8192m  
    -Xms8192m  
    -XX:NewRatio=2  
    -XX:+UseCompressedOops  
    -XX:+UseConcMarkSweepGC  
    -XX:+UseParNewGC  
    -XX:MetaspaceSize=512m  
    -XX:NewSize=512m  
    -XX:PermSize=512m  
    -XX:MaxNewSize=1024m  
    -XX:+ScavengeBeforeFullGC  
    -XX:+CMSParallelRemarkEnabled  
    -XX:+CMSScavengeBeforeRemark  
    -XX:+UseCMSInitiatingOccupancyOnly  
    -XX:CMSInitiatingOccupancyFraction=70  
    -XX:MaxMetaspaceSize=512m  
    -XX:+HeapDumpOnOutOfMemoryError"  
     
    export CLASSPATH=${CATALINA_BASE}/external-conf${CLASSPATH}  
    export JAVA_OPTS="$JAVA_OPTS -Datsso.log.dir=$CATALINA_BASE/logs"  
    export JAVA_OPTS="$JAVA_OPTS -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"  
    export JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true"  
    export JAVA_OPTS="$JAVA_OPTS -Dlogback.ContextSelector=JNDI"  
    export CATALINA_OPTS="$CATALINA_OPTS -Dorg.springframework.boot.logging.LoggingSystem=none"  
    export CATALINA_OPTS="$CATALINA_OPTS -XX:+IgnoreUnrecognizedVMOptions"  
    export JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.config.file=/opt/apache/tomcat8.5/conf/logging.properties"  
    export JAVA_HOME=/usr/java/jre1.8.0_92  
    export JRE_HOME=/usr/java/jre1.8.0_92 
      

    -You will need to restart Tomcat after this change. 

    -Confirm that the errors are no longer being printed in the terminal. 

     


    Article Number:

    000168185


    Article Type:

    Solutions to a Product Problem



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles