[ https://issues.apache.org/jira/browse/QPIDJMS-302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robbie Gemmell resolved QPIDJMS-302. ------------------------------------ Resolution: Fixed > an NPE can occur when trying to throw a JMSException to indicate the > connection failed > -------------------------------------------------------------------------------------- > > Key: QPIDJMS-302 > URL: https://issues.apache.org/jira/browse/QPIDJMS-302 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client > Affects Versions: 0.23.0 > Reporter: Robbie Gemmell > Assignee: Robbie Gemmell > Fix For: 0.24.0 > > > The connection uses an AtomicBoolean and a volatile field to track the > [first] exception leading to the connection being marked failed. The dual > values aren't handled correctly, with the boolean tripped before the cause is > recorded, and so concurrent use of them to throw an exception as actions are > undertaken on the connection are unsafe, with potential for an NPE to occur > instead of the intended exception being thrown. The exception field use is > also probably unsafe in regards to its intent to contain the first failure. > The issues can be avoided by using an AtomicReference to track the detail > instead, as other resources like producer+consumer already do. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org