activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phillip Henry (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-3732) Different methods synchronizing on different mutexes when changing the same field
Date Wed, 22 Feb 2012 20:33:49 GMT

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

Phillip Henry commented on AMQ-3732:
------------------------------------

Hard to show in a unit test as it's not deterministic.

I noticed it while I was trying to work out why we had non-deterministic behaviour in our
AMQ stack. (Not found what the problem is yet. May very well be a misconfiguration at our
end...).
                
> 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
>              Labels: concurrency
>
> 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

        

Mime
View raw message