Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-2346

TCP_NIO2 deadlock during stop on Windows

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • 4.0.18
    • 4.1.0
    • None

    Description

      Hopefully the thread dump is enough to find it:

      "testng-CustomFailurePolicyTxTest" #60 prio=0 tid=0x3c nid=NA blocked
         java.lang.Thread.State: BLOCKED
      	at java.nio.channels.spi.AbstractSelectableChannel.removeKey(AbstractSelectableChannel.java:130)
      	- waiting to lock <0x7ae7c881> (a java.lang.Object)
      	at java.nio.channels.spi.AbstractSelector.deregister(AbstractSelector.java:188)
      	at sun.nio.ch.WindowsSelectorImpl.implClose(WindowsSelectorImpl.java:514)
      	- locked <0x6cc2bf11> (a java.lang.Object)
      	at sun.nio.ch.SelectorImpl.implCloseSelector(SelectorImpl.java:113)
      	- locked <0x2ab0aa2d> (a sun.nio.ch.Util$3)
      	- locked <0x2f9dc993> (a java.util.Collections$UnmodifiableSet)
      	- locked <0xfeca69a> (a sun.nio.ch.WindowsSelectorImpl)
      	at java.nio.channels.spi.AbstractSelector.close(AbstractSelector.java:111)
      	at org.jgroups.util.Util.close(Util.java:428)
      	at org.jgroups.util.Util.close(Util.java:439)
      	at org.jgroups.blocks.cs.NioServer.stop(NioServer.java:127)
      	- locked <0x21bca9ea> (a org.jgroups.blocks.cs.NioServer)
      	at org.jgroups.protocols.TCP_NIO2.handleDisconnect(TCP_NIO2.java:136)
      	at org.jgroups.protocols.TP.handleDownEvent(TP.java:1607)
      	at org.jgroups.protocols.BasicTCP.handleDownEvent(BasicTCP.java:129)
      	at org.jgroups.protocols.TP.down(TP.java:1082)
      	at org.jgroups.protocols.Discovery.down(Discovery.java:425)
      	at org.infinispan.test.fwk.TEST_PING.down(TEST_PING.java:208)
      	at org.jgroups.protocols.FD_SOCK.down(FD_SOCK.java:379)
      	at org.jgroups.protocols.FD_ALL.down(FD_ALL.java:236)
      	at org.jgroups.protocols.VERIFY_SUSPECT.down(VERIFY_SUSPECT.java:101)
      	at org.jgroups.protocols.pbcast.NAKACK2.down(NAKACK2.java:553)
      	at org.jgroups.protocols.UNICAST3.down(UNICAST3.java:570)
      	at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:346)
      	at org.jgroups.protocols.pbcast.GMS.down(GMS.java:1076)
      	at org.jgroups.protocols.tom.TOA.down(TOA.java:80)
      	at org.jgroups.protocols.FlowControl.down(FlowControl.java:296)
      	at org.jgroups.protocols.RSVP.down(RSVP.java:102)
      	at org.jgroups.protocols.relay.RELAY2.down(RELAY2.java:380)
      	at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:908)
      	at org.jgroups.JChannel.down(JChannel.java:668)
      	at org.jgroups.JChannel.disconnect(JChannel.java:469)
      	- locked <0xef29e32> (a org.jgroups.JChannel)
      	at org.infinispan.remoting.transport.jgroups.JGroupsTransport.stop(JGroupsTransport.java:712)
      	at sun.reflect.GeneratedMethodAccessor148.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.infinispan.commons.util.SecurityActions.lambda$invokeAccessibly$0(SecurityActions.java:79)
      	at org.infinispan.commons.util.SecurityActions$$Lambda$154/1125443972.run(Unknown Source)
      	at org.infinispan.commons.util.SecurityActions.doPrivileged(SecurityActions.java:71)
      	at org.infinispan.commons.util.SecurityActions.invokeAccessibly(SecurityActions.java:76)
      	at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:181)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.performStop(BasicComponentRegistryImpl.java:601)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.stopWrapper(BasicComponentRegistryImpl.java:590)
      	at org.infinispan.factories.impl.BasicComponentRegistryImpl.stop(BasicComponentRegistryImpl.java:461)
      	at org.infinispan.factories.AbstractComponentRegistry.internalStop(AbstractComponentRegistry.java:441)
      	at org.infinispan.factories.AbstractComponentRegistry.stop(AbstractComponentRegistry.java:376)
      	at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:775)
      	at org.infinispan.xsite.AbstractXSiteTest$$Lambda$4294/1094472832.accept(Unknown Source)
      	at java.util.ArrayList.forEach(ArrayList.java:1257)
      	at org.infinispan.xsite.AbstractXSiteTest.killSite(AbstractXSiteTest.java:89)
      	at org.infinispan.xsite.AbstractXSiteTest.killSites(AbstractXSiteTest.java:82)
      	at org.infinispan.xsite.AbstractXSiteTest.destroy(AbstractXSiteTest.java:76)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
      	at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)
      	at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:458)
      	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222)
      	at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
      	at org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:214)
      	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
      	at org.testng.TestRunner.privateRun(TestRunner.java:648)
      	at org.testng.TestRunner.run(TestRunner.java:505)
      	at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
      	at org.testng.SuiteRunner.access$000(SuiteRunner.java:40)
      	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:489)
      	at org.testng.internal.thread.ThreadUtil$1.call(ThreadUtil.java:52)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
         Locked ownable synchronizers:
      	- <0x9411fa8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
      	- <0x4fe21f2e> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      
      "NioServer.Selector [/127.0.0.1:7925]-3,CustomFailurePolicyTxTest-NodeC-12186" #205597 prio=0 tid=0x3231d nid=NA blocked
         java.lang.Thread.State: BLOCKED
      	at sun.nio.ch.WindowsSelectorImpl.putEventOps(WindowsSelectorImpl.java:593)
      	- waiting to lock <0x6cc2bf11> (a java.lang.Object)
      	at sun.nio.ch.SocketChannelImpl.translateAndSetInterestOps(SocketChannelImpl.java:974)
      	at sun.nio.ch.SelectionKeyImpl.nioInterestOps(SelectionKeyImpl.java:105)
      	at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:83)
      	at sun.nio.ch.SelectorImpl.register(SelectorImpl.java:134)
      	at java.nio.channels.spi.AbstractSelectableChannel.register(AbstractSelectableChannel.java:212)
      	- locked <0x7ae7c881> (a java.lang.Object)
      	- locked <0x6a684d8f> (a java.lang.Object)
      	at org.jgroups.blocks.cs.NioServer.handleAccept(NioServer.java:93)
      	at org.jgroups.blocks.cs.NioBaseServer$Acceptor.run(NioBaseServer.java:138)
      	at java.lang.Thread.run(Thread.java:748)
      

      Attachments

        Issue Links

          Activity

            People

              rhn-engineering-bban Bela Ban
              dberinde@redhat.com Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: