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.
No option but to use a fair amount of synchronization for these. I think I caught everything but I'll be re-running the tests with RV-Predict once all the issues are fixed so if I missed anything I'll catch it then. This has been fixed in trunk and 8.0.x for 8.0.27 onwards.
*** Bug 58401 has been marked as a duplicate of this bug. ***