https://bz.apache.org/bugzilla/show_bug.cgi?id=58395

            Bug ID: 58395
           Summary: Data races inside
                    org.apache.catalina.tribes.membership.MemberImpl
           Product: Tomcat 8
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: [email protected]
          Reporter: [email protected]

Reported by RV-Predict (a dynamic race detector) when running the test suite:
Data race on field org.apache.catalina.tribes.membership.MemberImpl.command:
{{{
    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getDataLength(MemberImpl.java:176)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackageLength(ChannelData.java:186)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:342)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:611)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.command:
{{{
    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getCommand(MemberImpl.java:485)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:318)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:611)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.command:
{{{
    Concurrent write in thread T1 (locks held: {Monitor@77f324cd,
Monitor@54110076, Monitor@77f324c6, Monitor@77d14322})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:611)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:329)
        - locked Monitor@77d14322 at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:n/a)
        at
org.apache.catalina.tribes.membership.McastService.stop(McastService.java:372)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:229)
        - locked Monitor@77f324c6 at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:n/a)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.stop(ChannelCoordinator.java:121)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.stop(NonBlockingCoordinator.java:467)
        - locked Monitor@54110076 at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.stop(NonBlockingCoordinator.java:463)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:444)
        - locked Monitor@77f324cd at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.interceptors.TestNonBlockingCoordinator.tearDown(TestNonBlockingCoordinator.java:127)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread

    Concurrent read in thread T280 (locks held: {Monitor@23afd3e1})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.toString(MemberImpl.java:525)
        at
org.apache.catalina.tribes.util.StringManager.getString(StringManager.java:147)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberDisappeared(TcpFailureDetector.java:151)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.sendMessage(TcpFailureDetector.java:99)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.sendMessage(ChannelInterceptorBase.java:76)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsg(NonBlockingCoordinator.java:260)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsgToNextInline(NonBlockingCoordinator.java:270)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.handleOtherToken(NonBlockingCoordinator.java:365)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.handleToken(NonBlockingCoordinator.java:331)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.processCoordMessage(NonBlockingCoordinator.java:322)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.messageReceived(NonBlockingCoordinator.java:498)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.messageReceived(DomainFilterInterceptor.java:48)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:262)
        at
org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:242)
        at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:211)
        at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:102)
        - locked Monitor@23afd3e1 at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:n/a)
    T280 is created by T177
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:197)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)

    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:199)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackage(ChannelData.java:205)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:350)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent write in thread T1 (locks held: {Monitor@423345cf,
Monitor@423345c4, Monitor@5829fe44})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:197)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:329)
        - locked Monitor@5829fe44 at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:n/a)
        at
org.apache.catalina.tribes.membership.McastService.stop(McastService.java:372)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:229)
        - locked Monitor@423345c4 at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:n/a)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.stop(ChannelCoordinator.java:121)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:444)
        - locked Monitor@423345cf at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.interceptors.TestOrderInterceptor.tearDown(TestOrderInterceptor.java:143)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread

    Concurrent read in thread T19 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:204)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:164)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:501)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:487)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:575)
    T19 is created by T13
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:280)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:197)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)

    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:206)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackage(ChannelData.java:205)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:350)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:199)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackage(ChannelData.java:205)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:350)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:286)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent read in thread T19 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:204)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:164)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:501)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:487)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:575)
    T19 is created by T1
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:280)

    Concurrent write in thread T1 (locks held: {Monitor@421ef1ee,
Monitor@421ef194, Monitor@421a2667})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:286)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:329)
        - locked Monitor@421a2667 at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:n/a)
        at
org.apache.catalina.tribes.membership.McastService.stop(McastService.java:372)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:229)
        - locked Monitor@421ef194 at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:n/a)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.stop(ChannelCoordinator.java:121)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.stop(MessageDispatchInterceptor.java:180)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:444)
        - locked Monitor@421ef1ee at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.TestGroupChannelStartStop.testDoubleFullStart(TestGroupChannelStartStop.java:61)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent read in thread T198 (locks held: {Monitor@30e70e68})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:206)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackage(ChannelData.java:205)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:350)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@30e70e68 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T198 is created by T170
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T170 (locks held: {Monitor@2ddfcdd0})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:286)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@2ddfcdd0 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T170 is created by T156
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.dataPkg:
{{{
    Concurrent write in thread T58 (locks held: {Monitor@1c114987})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:286)
        at
org.apache.catalina.tribes.membership.MemberImpl.setCommand(MemberImpl.java:612)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:134)
        - locked Monitor@1c114987 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.memberAdded(NonBlockingCoordinator.java:514)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.memberAdded(NonBlockingCoordinator.java:509)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:141)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T58 is created by T41
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T93 (locks held: {Monitor@5aaa2914})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:286)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator$CoordinationMessage.write(NonBlockingCoordinator.java:736)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.createData(NonBlockingCoordinator.java:281)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsg(NonBlockingCoordinator.java:260)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.sendElectionMsgToNextInline(NonBlockingCoordinator.java:270)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.handleOtherToken(NonBlockingCoordinator.java:365)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.handleToken(NonBlockingCoordinator.java:331)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.processCoordMessage(NonBlockingCoordinator.java:322)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.messageReceived(NonBlockingCoordinator.java:498)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:117)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.messageReceived(DomainFilterInterceptor.java:48)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:81)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:262)
        at
org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:242)
        at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:211)
        at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:102)
        - locked Monitor@5aaa2914 at
org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:n/a)
    T93 is created by T28
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.hostname:
{{{
    Concurrent read in thread T153 (locks held: {Monitor@e49c5d2,
Monitor@622146b6})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getHostname(MemberImpl.java:440)
        at
org.apache.catalina.tribes.membership.MemberImpl.getName(MemberImpl.java:418)
        at org.apache.catalina.tribes.util.Arrays.toNameString(Arrays.java:101)
        at org.apache.catalina.tribes.util.Arrays.toNameString(Arrays.java:95)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator$CoordinationEvent.toString(NonBlockingCoordinator.java:824)
        at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:123)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.fireInterceptorEvent(NonBlockingCoordinator.java:750)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.handleViewConf(NonBlockingCoordinator.java:385)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.startElection(NonBlockingCoordinator.java:198)
        - locked Monitor@622146b6 at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.startElection(NonBlockingCoordinator.java:191)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.start(NonBlockingCoordinator.java:456)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.start(ChannelInterceptorBase.java:155)
        at
org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:425)
        - locked Monitor@e49c5d2 at
org.apache.catalina.tribes.group.GroupChannel.start(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.interceptors.TestNonBlockingCoordinator$1.run(TestNonBlockingCoordinator.java:53)
    T153 is created by T1
        at
org.apache.catalina.tribes.group.interceptors.TestNonBlockingCoordinator.setUp(TestNonBlockingCoordinator.java:63)

    Concurrent write in thread T200 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getHostname(MemberImpl.java:446)
        at
org.apache.catalina.tribes.membership.MemberImpl.getName(MemberImpl.java:418)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.memberAdded(NonBlockingCoordinator.java:516)
        at
org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.memberAdded(NonBlockingCoordinator.java:509)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:141)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T200 is created by T167
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)
}}} 

Data race on field
org.apache.catalina.tribes.membership.MemberImpl.memberAliveTime: {{{
    Concurrent read in thread T50 (locks held: {Monitor@282ad193,
Monitor@282ad199})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getMemberAliveTime(MemberImpl.java:466)
        at
org.apache.catalina.tribes.membership.Membership$MemberComparator.compare(Membership.java:280)
        at
org.apache.catalina.tribes.membership.Membership.addMember(Membership.java:155)
        - locked Monitor@282ad199 at
org.apache.catalina.tribes.membership.Membership.addMember(Membership.java:147)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:125)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:134)
        - locked Monitor@282ad193 at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T50 is created by T41
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T41 (locks held: {Monitor@72aaa02a})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setMemberAliveTime(MemberImpl.java:505)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:132)
        - locked Monitor@72aaa02a at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T41 is created by T21
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.msgCount:
{{{
    Concurrent write in thread T19 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.inc(MemberImpl.java:155)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:497)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:487)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:575)
    T19 is created by T1
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:280)

    Concurrent read in thread T1 (locks held: {Monitor@421ef1ee,
Monitor@421ef194, Monitor@421a2667})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.inc(MemberImpl.java:155)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:497)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:487)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:331)
        - locked Monitor@421a2667 at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:n/a)
        at
org.apache.catalina.tribes.membership.McastService.stop(McastService.java:372)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:229)
        - locked Monitor@421ef194 at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:n/a)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.stop(ChannelCoordinator.java:121)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.stop(MessageDispatchInterceptor.java:180)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:444)
        - locked Monitor@421ef1ee at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.TestGroupChannelStartStop.testDoubleFullStart(TestGroupChannelStartStop.java:61)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.payload:
{{{
    Concurrent read in thread T22 (locks held: {Monitor@5f2f118d})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getDataLength(MemberImpl.java:176)
        at
org.apache.catalina.tribes.io.ChannelData.getDataPackageLength(ChannelData.java:186)
        at
org.apache.catalina.tribes.io.XByteBuffer.createDataPackage(XByteBuffer.java:342)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:334)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAlive(TcpFailureDetector.java:310)
        at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:133)
        - locked Monitor@5f2f118d at
org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.memberAdded(TcpFailureDetector.java:126)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T22 is created by T13
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T13 (locks held: {Monitor@5b81c5f3})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setPayload(MemberImpl.java:601)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:133)
        - locked Monitor@5b81c5f3 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T13 is created by T1
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field org.apache.catalina.tribes.membership.MemberImpl.payload:
{{{
    Concurrent read in thread T59 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getPayload(MemberImpl.java:480)
        at
org.apache.catalina.tribes.group.TestGroupChannelMemberArrival$TestMbrListener.report(TestGroupChannelMemberArrival.java:170)
        at
org.apache.catalina.tribes.group.TestGroupChannelMemberArrival$TestMbrListener.memberAdded(TestGroupChannelMemberArrival.java:133)
        at
org.apache.catalina.tribes.group.GroupChannel.memberAdded(GroupChannel.java:350)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor.memberAdded(DomainFilterInterceptor.java:65)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.memberAdded(ChannelInterceptorBase.java:87)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.memberAdded(ChannelCoordinator.java:245)
        at
org.apache.catalina.tribes.membership.McastService.memberAdded(McastService.java:461)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$2.run(McastServiceImpl.java:397)
    T59 is created by T38
        at
java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:1010)

    Concurrent write in thread T38 (locks held: {Monitor@20ac1622})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setPayload(MemberImpl.java:601)
        at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:133)
        - locked Monitor@20ac1622 at
org.apache.catalina.tribes.membership.Membership.memberAlive(Membership.java:n/a)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.memberDataReceived(McastServiceImpl.java:389)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.receive(McastServiceImpl.java:356)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$ReceiverThread.run(McastServiceImpl.java:541)
    T38 is created by T17
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:269)
}}} 

Data race on field
org.apache.catalina.tribes.membership.MemberImpl.serviceStartTime: {{{
    Concurrent read in thread T19 (locks held: {})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.getServiceStartTime(MemberImpl.java:470)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:203)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:170)
        at
org.apache.catalina.tribes.membership.MemberImpl.getData(MemberImpl.java:164)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:501)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.send(McastServiceImpl.java:487)
        at
org.apache.catalina.tribes.membership.McastServiceImpl$SenderThread.run(McastServiceImpl.java:575)
    T19 is created by T1
        at
org.apache.catalina.tribes.membership.McastServiceImpl.start(McastServiceImpl.java:280)

    Concurrent write in thread T1 (locks held: {Monitor@b7fbe22,
Monitor@b7fbe2b, Monitor@b72d033})
 ---->  at
org.apache.catalina.tribes.membership.MemberImpl.setServiceStartTime(MemberImpl.java:590)
        at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:335)
        - locked Monitor@b72d033 at
org.apache.catalina.tribes.membership.McastServiceImpl.stop(McastServiceImpl.java:n/a)
        at
org.apache.catalina.tribes.membership.McastService.stop(McastService.java:372)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:229)
        - locked Monitor@b7fbe2b at
org.apache.catalina.tribes.group.ChannelCoordinator.internalStop(ChannelCoordinator.java:n/a)
        at
org.apache.catalina.tribes.group.ChannelCoordinator.stop(ChannelCoordinator.java:121)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor.stop(MessageDispatchInterceptor.java:180)
        at
org.apache.catalina.tribes.group.ChannelInterceptorBase.stop(ChannelInterceptorBase.java:171)
        at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:444)
        - locked Monitor@b7fbe22 at
org.apache.catalina.tribes.group.GroupChannel.stop(GroupChannel.java:n/a)
        at
org.apache.catalina.tribes.group.TestGroupChannelStartStop.testDoubleFullStart(TestGroupChannelStartStop.java:61)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:38)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1182)
        at
org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1033)
    T1 is the main thread
}}}

That's a lot of data races here.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to