https://issues.apache.org/bugzilla/show_bug.cgi?id=52355

             Bug #: 52355
           Summary: Synchronize possible concurrent accesses to field
                    "org.apache.catalina.tribes.transport.bio.util.FastQue
                    ue.checkLock".
           Product: Tomcat 7
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: reprogram...@gmail.com
    Classification: Unclassified


Class "org.apache.catalina.tribes.transport.bio.util.FastQueue" is used in
parallel contexts that originate from method
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.run().

1.
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.run()
2.
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendAsyncData(LinkObject)
3.
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(Member[],
ChannelMessage, InterceptorPayload)
4.
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.sendMessage(Member[],
ChannelMessage, InterceptorPayload)
5.
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.addToQueue(ChannelMessage,
Member[], InterceptorPayload)
6. org.apache.catalina.tribes.transport.bio.util.FastQueue.FastQueue()

Two public methods of "FastQueue", namely
"org.apache.catalina.tribes.transport.bio.util.FastQueue.isCheckLock()" and
"org.apache.catalina.tribes.transport.bio.util.FastQueue.setCheckLock(boolean)"
access the field
"org.apache.catalina.tribes.transport.bio.util.FastQueue.checkLock" without
proper synchronization. Fortunately, these two methods, i.e.
"FastQueue.isCheckLock()" and "FastQueue.setCheckLock(boolean)", are currently
used. So, there is only a potential data race on "FastQueue.checkLock". To
prevent such a data race in future, I suggest that either accesses to
"FastQueue.checkLock" get properly syncrhonized or the unused public methods
"FastQueue.isCheckLock()" and "FastQueue.setCheckLock(boolean)" be removed.


Field "FastQueue.checkLock" is declared at
<http://svn.apache.org/repos/asf/!svn/bc/1220560/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java>.

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to