Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8555

CacheManagerTest.testConcurrentCacheManagerStopAndGetCache randomly hangs

    XMLWordPrintable

    Details

      Description

      If there is any exception, the finally block tries to stop the cache manager without first unblocking the stop method, and it hangs:

      "ForkThread-1,CacheManagerTest" #204160 prio=5 os_prio=0 tid=0x00007fa1900aa800 nid=0x1be5 waiting on condition [0x00007fa0db5b3000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000c846b690> (a java.util.concurrent.CompletableFuture$Signaller)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693)
      	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
      	at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729)
      	at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
      	at org.infinispan.manager.CacheManagerTest$2.stop(CacheManagerTest.java:274)
      	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.infinispan.commons.util.SecurityActions.lambda$invokeAccessibly$0(SecurityActions.java:91)
      	at org.infinispan.commons.util.SecurityActions$$Lambda$169/1215571888.run(Unknown Source)
      	at org.infinispan.commons.util.SecurityActions.doPrivileged(SecurityActions.java:83)
      	at org.infinispan.commons.util.SecurityActions.invokeAccessibly(SecurityActions.java:88)
      	at org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:165)
      	at org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:883)
      	at org.infinispan.factories.AbstractComponentRegistry.internalStop(AbstractComponentRegistry.java:684)
      	at org.infinispan.factories.AbstractComponentRegistry.stop(AbstractComponentRegistry.java:583)
      	- locked <0x00000000c846b6d8> (a org.infinispan.factories.GlobalComponentRegistry)
      	at org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:271)
      	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:206)
      	at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1000)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:411)
      	at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:637)
      	at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:582)
      	at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:468)
      	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:454)
      	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:440)
      	at org.infinispan.manager.CacheManagerTest.lambda$testConcurrentCacheManagerStopAndGetCache$4(CacheManagerTest.java:279)
      	at org.infinispan.manager.CacheManagerTest$$Lambda$3417/950279155.call(Unknown Source)
      	at org.infinispan.test.AbstractInfinispanTest$LoggingCallable.call(AbstractInfinispanTest.java:543)
      	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:
      	- <0x00000000c846b8d0> (a java.util.concurrent.ThreadPoolExecutor$Worker)
      
      "testng-CacheManagerTest" #24 prio=5 os_prio=0 tid=0x00007fa260ece000 nid=0x44b6 waiting on condition [0x00007fa1e4626000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000c84702c0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199)
      	at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:209)
      	at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:285)
      	at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:695)
      	at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:774)
      	at org.infinispan.test.TestingUtil.killCacheManagers(TestingUtil.java:765)
      	at org.infinispan.manager.CacheManagerTest.testConcurrentCacheManagerStopAndGetCache(CacheManagerTest.java:295)
      	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:84)
      	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
      	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
      	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
      	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
      	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
      	at org.testng.TestRunner.privateRun(TestRunner.java:767)
      	at org.testng.TestRunner.run(TestRunner.java:617)
      	at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
      	at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
      	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
      	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
      	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:
      	- <0x00000000c4628978> (a java.util.concurrent.ThreadPoolExecutor$Worker)
      
      "ForkThread-2,CacheManagerTest" #204172 prio=5 os_prio=0 tid=0x00007fa1900f6800 nid=0x1bf2 waiting on condition [0x00007fa0da9a8000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000c84181c0> (a java.util.concurrent.CompletableFuture$Signaller)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693)
      	at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
      	at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729)
      	at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934)
      	at org.infinispan.manager.DefaultCacheManager.terminate(DefaultCacheManager.java:681)
      	at org.infinispan.manager.DefaultCacheManager.stopCaches(DefaultCacheManager.java:727)
      	at org.infinispan.manager.DefaultCacheManager.stop(DefaultCacheManager.java:704)
      	at org.infinispan.manager.CacheManagerTest.lambda$testConcurrentCacheManagerStopAndGetCache$5(CacheManagerTest.java:282)
      	at org.infinispan.manager.CacheManagerTest$$Lambda$3418/1712334616.run(Unknown Source)
      	at org.infinispan.test.AbstractInfinispanTest$RunnableWrapper.run(AbstractInfinispanTest.java:510)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	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:
      	- <0x00000000c8418270> (a java.util.concurrent.ThreadPoolExecutor$Worker)
      	- <0x00000000c84702c0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              dan.berindei Dan Berindei
              Reporter:
              dan.berindei Dan Berindei
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: