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

Rob Godfrey resolved QPID-5172.
-------------------------------

    Resolution: Fixed
      Assignee: Rob Godfrey

Patch applied
                
> Thread safety issue in StringTypeConstructor.construct and 
> SymbolTypeConstructor.construct
> ------------------------------------------------------------------------------------------
>
>                 Key: QPID-5172
>                 URL: https://issues.apache.org/jira/browse/QPID-5172
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.24
>         Environment: Qpid JMS AMQP 1.0 client library (v0.24)
>            Reporter: David Ingham
>            Assignee: Rob Godfrey
>         Attachments: QPID-5172.patch, QPID-5172-stacktrace.txt
>
>
> The implementations of StringTypeConstructor.construct() and 
> SymbolTypeConstructor.construct() use caching to reduce the amount of 
> decoding required. The caches used in these methods are not thread safe and 
> therefore decoding errors can occur in the event of concurrent use.
> Like most threading issues, repro is tricky and somewhat non-deterministic. I 
> got a reliable repro with a scenario in which I primed 2 queues with a few 
> thousand messages and then created 2 
> connections/sessions/consumers/messagelisteners receiving from one queue 
> each. Eventually an exception would be thrown in 
> CompoundTypeConstructor$MapAssembler.addItem. I'll attach a stack trace for 
> reference.
> The fix is either to remove these caches or make them thread safe.

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

Reply via email to