You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2015/06/02 20:16:49 UTC

[jira] [Commented] (LOG4J2-1037) Backward compatibility issue in log4j-1.2-api NDC pop() and peek()

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

Gary Gregory commented on LOG4J2-1037:
--------------------------------------

I also uploaded snapshots to https://repository.apache.org/content/repositories/snapshots (except for the log4j-perf module).

> 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, 2.3
>            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 empty
>         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
(v6.3.4#6332)

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