logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Gregory (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (LOG4J2-1037) Backward compatibility issue in log4j-1.2-api NDC pop() and peek()
Date Tue, 02 Jun 2015 18:03:50 GMT

     [ https://issues.apache.org/jira/browse/LOG4J2-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Gary Gregory resolved LOG4J2-1037.
       Resolution: Fixed
    Fix Version/s: 2.4

Fixed in Git master. Please verify and close.

> Backward compatibility issue in log4j-1.2-api NDC pop() and peek()
> ------------------------------------------------------------------
>                 Key: LOG4J2-1037
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1037
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: log4j 1.2 emulation
>    Affects Versions: 2.2
>            Reporter: Marc Dergacz
>            Priority: Minor
>             Fix For: 2.4
> While going through and migrating our projects to log4j 2.2, there are several apps and
3rd party libraries that we use that depend on log4j 1.2.
> Whilst the log4j-1.2-api library pretty much works flawlessly for us, I ran into an issue
today with the opensaml1 library which breaks when it tries to call NDC.pop().
> In log4j 1.2, NDC.pop() would check to see if the stack was empty and if it was, returned
an empty string but with the log4j-1.2-api library, the DefaultThreadContextStack.pop() ends
up throwing a NoSuchElementException which causes everything to fall over for us.
> Given the library is meant to provide backwards compatibility, shouldn't the behaviour
also be the same?  At present, upgrading the OpenSAML library isn't an option, frustratingly.
> ] Unhandled exception:  - java.util.NoSuchElementException: The ThreadContext stack is
>         at org.apache.logging.log4j.spi.DefaultThreadContextStack.pop(DefaultThreadContextStack.java:185)
>         at org.apache.logging.log4j.ThreadContext.pop(ThreadContext.java:391)
>         at org.apache.log4j.NDC.pop(NDC.java:121)
>         at org.opensaml.SAMLException.getInstance(Unknown Source)
>         at org.opensaml.SAMLResponse.fromDOM(Unknown Source)
>        at org.opensaml.SAMLResponse.<init>(Unknown Source)
>         at org.jasig.cas.client.validation.Saml11TicketValidator.parseResponseFromServer(Saml11TicketValidator.java:51)
>         at 

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message