[
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: [email protected]
For additional commands, e-mail: [email protected]