2013/7/13 Matthias Petermann <matth...@petermann-it.de>: > Hello, > > when I try to start Tomcat 7.0.42 with OpenJDK 6 b27, it complains about not > finding classes for the logging handlers. I created a minimal > logging.properties to narrow down the problem: > > handlers = 1catalina.org.apache.juli.FileHandler, > java.util.logging.ConsoleHandler > .handlers = java.util.logging.ConsoleHandler > > 1catalina.org.apache.juli.FileHandler.level = FINE > 1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs > 1catalina.org.apache.juli.FileHandler.prefix = catalinatest. > > java.util.logging.ConsoleHandler.level = FINE > java.util.logging.ConsoleHandler.formatter = > java.util.logging.SimpleFormatter > > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = > 1catalina.org.apache.juli.FileHandler > > The output of "./catalina.sh run" is the following: > > INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 > Can't load log handler "1catalina.org.apache.juli.FileHandler" > java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler > java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler > at java.net.URLClassLoader$1.run(URLClassLoader.java:217) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:205) > at java.lang.ClassLoader.loadClass(ClassLoader.java:321) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) > at java.lang.ClassLoader.loadClass(ClassLoader.java:266) > at java.util.logging.LogManager$3.run(LogManager.java:654) > at java.security.AccessController.doPrivileged(Native Method) > at > java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:641) > at java.util.logging.LogManager.access$900(LogManager.java:150) > at > java.util.logging.LogManager$LoggerContext.addLogger(LogManager.java:437) > at > java.util.logging.LogManager$UserLoggerContext.demandLogger(LogManager.java:596) > at > java.util.logging.LogManager$LoggerContext.demandLogger(LogManager.java:475) > at java.util.logging.Logger.getLogger(Logger.java:329) > at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71) > at > org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196) > at > org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170) > at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:311) > at > org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:452) > at > org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1102) > at > org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) > at > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:679) > > There can be found many mentions on this topic on the web, each of them > proposing one of those solutions which I tried: > > * Check/set JAVA_HOME / JRE_HOME > > $ export JAVA_HOME=/usr/local/openjdk6/ > $ export JRE_HOME=/usr/local/openjdk6/jre/ > > * Check/set CATALINA_HOME > > $ export > CATALINA_HOME=/home/mpeterma/System/Apps/apache-tomcat-7.0.42 > > * Ensure LOGGING_CONFIG and LOGGING_MANAGER are set properly > > --> validated, LOGGING_MANAGER is set to > -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager in > catalina.sh if unspecified, which should be correct; LOGGING_CONFIG is found > because it contains the handlers where Tomcat complains about > > * Ensure tomcat-juli.jar is in the classpath > > --> validated, it's using > /home/mpeterma/System/Apps/apache-tomcat-7.0.42/bin/bootstrap.jar:/home/mpeterma/System/Apps/apache-tomcat-7.0.42/bin/tomcat-juli.jar > > * Place tomcat-juli.jar into Tomcat lib folder --> tested, unsuccessful > * Place tomcat-juli.jar into OpenJDK / JRE lib folder(s) --> tested, > unsuccessful > > None of this proposals fixed the problem for me. When I comment out the > org.apache.catalina.core.ContainerBase.[Catalina].[localhost].* -lines from > logging.properties, the problem disappears. Anyway - this is not a solution > as the logging is not working then. > > The only workaround which *is* working is to use OpenJDK 7 instead of > OpenJDK 6. But I would like to make it run on OpenJDK 6. > > $ java -version > openjdk version "1.6.0_32" > OpenJDK Runtime Environment (build 1.6.0_32-b27) > OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) > > Is there a known problem with this JDK or with OpenJDK in general? It might > be noteworty that I have this problem on FreeBSD only. The Linux version of > OpenJDK 6 b27 (reports as IcedTea6 / OpenJDK 6 b27) works. > > There was a bug report filed against the FreeBSD OpenJDK 6 port already: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=177067&cat= > > At this time it is not clear to me where to look for the root cause. I > appreciate your help and hints, looking for directions where to investigate > in detail. >
This is the first time I see such issue being reported for OpenJDK6, but there certainly have been the same issue with openjdk 1.7.0.9 four months ago. See this thread, "tomcat 7.0.37 and openjdk 1.7.0.9 on fedora juli FileHandler problems" from March 2013: http://tomcat.markmail.org/thread/pgmc7nh3vv5jqt7w Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org