]
Tristan Tarrant updated ISPN-8555:
----------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
CacheManagerTest.testConcurrentCacheManagerStopAndGetCache randomly
hangs
-------------------------------------------------------------------------
Key: ISPN-8555
URL:
https://issues.jboss.org/browse/ISPN-8555
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Core
Affects Versions: 9.2.0.Beta1
Reporter: Dan Berindei
Assignee: Dan Berindei
Labels: testsuite_stability
Fix For: 9.2.0.Beta2
If there is any exception, the finally block tries to stop the cache manager without
first unblocking the stop method, and it hangs:
{noformat}
"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)
{noformat}