Different methods synchronizing on different mutexes when changing the same 
field
---------------------------------------------------------------------------------

                 Key: AMQ-3732
                 URL: https://issues.apache.org/jira/browse/AMQ-3732
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.5.1
         Environment: Darwin phillip.local 9.8.0 Darwin Kernel Version 9.8.0: 
Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 i386
            Reporter: Phillip Henry


org.apache.activemq.broker.region.PrefetchSubscription.prefetchExtension is 
changed while guarded by a mutex on this (PrefetchSubscription) in 
PrefetchSubscription.pullMessage(...) and PrefetchSubscription.dispatchLock in 
PrefetchSubscription.acknowledge(...). 

This can lead to the corruption of the prefetchExtension variable (eg, 
prefetchExtension++ in pullMessage() is not an atomic operation so 
prefetchExtension may change in acknowledge() mid-way through this operation).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to