logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Remko Popma (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4J2-223) IlliegalStateException thrown during Tomcat shutdown
Date Wed, 01 May 2013 13:28:23 GMT

    [ https://issues.apache.org/jira/browse/LOG4J2-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13646566#comment-13646566
] 

Remko Popma commented on LOG4J2-223:
------------------------------------

Phew. I can now reproduce the problem (at least very similar):

Ctrl-C
2013-05-01 21:53:04,093 DEBUG Shutting down OutputStreamManager SYSTEM_OUT
2013-05-01 21:53:04,093 DEBUG Shutting down FastRollingFileManager D:\data\workspace-4.2.1\archiva\archiva-modules\archi
va-web\archiva-webapp\target/appserver-base/logs/archiva.log
2013/05/01 21:53:04 org.apache.coyote.AbstractProtocol pause
情報: Pausing ProtocolHandler ["http-bio-9091"]
Exception in thread "Thread-3" java.lang.NullPointerException
        at org.apache.logging.log4j.core.async.AsyncLoggerConfigHelper.shutdown(AsyncLoggerConfigHelper.java:227)
        at org.apache.logging.log4j.core.async.AsyncLoggerConfig.stopFilter(AsyncLoggerConfig.java:137)
        at org.apache.logging.log4j.core.config.BaseConfiguration.stop(BaseConfiguration.java:148)
        at org.apache.logging.log4j.core.LoggerContext.stop(LoggerContext.java:201)
        at org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:418)

I suspect that the ShutdownThread runs after the Disruptor has already been shut down in the
main application thread.
The shutdown() code does not check if the static field holding the Disruptor has already been
set to null.

The fix is:
AsyncLoggerConfigHelper.shutdown() line 222: 
CURRENT:
        Disruptor<Log4jEventWrapper> temp = disruptor;

FIXED: 
        Disruptor<Log4jEventWrapper> temp = disruptor;
        if (temp == null) { return; }
                
> IlliegalStateException 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
>            Assignee: Ralph Goers
>             Fix For: 2.0-beta6
>
>
> 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

--
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-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message