[ https://issues.apache.org/jira/browse/LOG4J2-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13661591#comment-13661591 ]
Nick Williams commented on LOG4J2-223: -------------------------------------- Okay, I think I understand better. I don't think the problem is in the selector. Regardless of which selector is being used, the {{o.a.l.l.core.LoggerContext}} class is still the class ultimately instantiated. _That_ class is the one adding the shutdown hook. The shutdown hook is responsible for the class loader memory leak, because the Runtime class's holding an instance of the shutdown hook means that the {{LoggerContext.ShutdownHook}} class can't be unloaded, which means the class loader and all of the classes it holds can't be garbage collected. > IllegalStateException thrown during Tomcat shutdown > --------------------------------------------------- > > Key: LOG4J2-223 > URL: https://issues.apache.org/jira/browse/LOG4J2-223 > Project: Log4j 2 > Issue Type: Bug > Components: Core > Affects Versions: 2.0-beta5 > Reporter: Ralph Goers > Priority: Critical > Fix For: 2.0-beta7 > > Attachments: log4j-223.war > > > {noformat}Apr 25, 2013 3:03:33 PM org.apache.catalina.core.StandardServer > await > INFO: A valid shutdown command was received via the shutdown port. Stopping > the Server instance. > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol pause > INFO: Pausing ProtocolHandler ["http-nio-8080"] > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol pause > INFO: Pausing ProtocolHandler ["ajp-nio-8009"] > Apr 25, 2013 3:03:33 PM org.apache.catalina.core.StandardService stopInternal > INFO: Stopping service Catalina > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol stop > INFO: Stopping ProtocolHandler ["http-nio-8080"] > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol stop > INFO: Stopping ProtocolHandler ["ajp-nio-8009"] > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol destroy > INFO: Destroying ProtocolHandler ["http-nio-8080"] > Apr 25, 2013 3:03:33 PM org.apache.coyote.AbstractProtocol destroy > INFO: Destroying ProtocolHandler ["ajp-nio-8009"] > Apr 25, 2013 3:03:33 PM org.apache.catalina.loader.WebappClassLoader loadClass > INFO: Illegal access: this web application instance has been stopped already. > Could not load org.apache.logging.log4j.core.config.NullConfiguration. The > eventual following stack trace is caused by an error thrown for debugging > purposes as well as to attempt to terminate the thread which caused the > illegal access, and has no functional impact. > java.lang.IllegalStateException > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1351) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310) > at > org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:171) > at > org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:389) > Exception in thread "Thread-18" java.lang.NoClassDefFoundError: > org/apache/logging/log4j/core/config/NullConfiguration > at > org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:171) > at > org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:389) > Caused by: java.lang.ClassNotFoundException: > org.apache.logging.log4j.core.config.NullConfiguration > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1310) > ... 2 more{noformat} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org