Integration tests hang in CryptoManagerTestCase

This topic has 1 reply, 2 voices, and was last updated 5 years, 3 months ago by Ludo.

  • Author
    Posts
  • #17902
     GuyPaddock
    Participant

    Hey all:

    Trying to run the integration tests on OpenDJ 3.0.0 with the following command:

    mvn integration-test -Pprecommit -pl opendj-server-legacy

    After sorting out some checkstyle and copyright warnings, it seems to get stuck when running the CryptoManagerTestCase right after the LDIFConnectionHandlerTestCase. Here’s the thread dump for the main thread:

    
    "[email protected]" prio=5 tid=0x1 nid=NA waiting
      java.lang.Thread.State: WAITING
    	  at java.lang.Object.wait(Object.java:-1)
    	  at com.sleepycat.je.txn.LockManager.lockInternal(LockManager.java:351)
    	  at com.sleepycat.je.txn.LockManager.lock(LockManager.java:276)
    	  at com.sleepycat.je.txn.Txn.lockInternal(Txn.java:522)
    	  at com.sleepycat.je.txn.ReadCommittedLocker.lockInternal(ReadCommittedLocker.java:81)
    	  at com.sleepycat.je.txn.Locker.lock(Locker.java:443)
    	  at com.sleepycat.je.dbi.CursorImpl.lockLN(CursorImpl.java:2642)
    	  at com.sleepycat.je.dbi.CursorImpl.lockLN(CursorImpl.java:2443)
    	  at com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:2168)
    	  at com.sleepycat.je.dbi.CursorImpl.searchAndPosition(CursorImpl.java:2034)
    	  at com.sleepycat.je.dbi.DbTree.lockNameLN(DbTree.java:900)
    	  at com.sleepycat.je.dbi.DbTree.doRemoveDb(DbTree.java:1130)
    	  at com.sleepycat.je.dbi.DbTree.dbRemove(DbTree.java:1183)
    	  at com.sleepycat.je.Environment$1.runWork(Environment.java:943)
    	  at com.sleepycat.je.Environment$DbNameOperation.runOnce(Environment.java:1168)
    	  at com.sleepycat.je.Environment$DbNameOperation.run(Environment.java:1151)
    	  at com.sleepycat.je.Environment.removeDatabase(Environment.java:937)
    	  at org.opends.server.backends.jeb.JEStorage$WriteableTransactionImpl.deleteTree(JEStorage.java:519)
    	  - locked <0x358f> (a java.util.concurrent.ConcurrentHashMap)
    	  at org.opends.server.backends.pluggable.AbstractTree.delete(AbstractTree.java:66)
    	  at org.opends.server.backends.pluggable.EntryContainer$13.run(EntryContainer.java:2547)
    	  at org.opends.server.backends.jeb.JEStorage.write(JEStorage.java:800)
    	  at org.opends.server.backends.pluggable.TracedStorage.write(TracedStorage.java:547)
    	  at org.opends.server.backends.pluggable.EntryContainer.clear(EntryContainer.java:2540)
    	  at org.opends.server.TestCaseUtils.clearBackend(TestCaseUtils.java:869)
    	  at org.opends.server.TestCaseUtils.clearBackend(TestCaseUtils.java:852)
    	  at org.opends.server.TestCaseUtils.clearBackend(TestCaseUtils.java:839)
    	  at org.opends.server.TestCaseUtils.clearJEBackends(TestCaseUtils.java:560)
    	  at org.opends.server.TestCaseUtils.restartServer(TestCaseUtils.java:534)
    	  - locked <0x1bff> (a java.lang.Class)
    	  at org.opends.server.crypto.CryptoManagerTestCase.CleanUp(CryptoManagerTestCase.java:85)
    	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
    	  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:76)
    	  at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525)
    	  at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202)
    	  at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:130)
    	  at org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:222)
    	  at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
    	  at org.testng.TestRunner.runWorkers(TestRunner.java:1147)
    	  at org.testng.TestRunner.privateRun(TestRunner.java:749)
    	  at org.testng.TestRunner.run(TestRunner.java:600)
    	  at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
    	  at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
    	  at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
    	  at org.testng.SuiteRunner.run(SuiteRunner.java:223)
    	  at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    	  at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    	  at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
    	  at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
    	  at org.testng.TestNG.run(TestNG.java:900)
    	  at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77)
    	  at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeMulti(TestNGDirectoryTestSuite.java:159)
    	  at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:99)
    	  at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:106)
    	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
    	  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.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
    	  at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
    	  at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
    	  at org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcess(InPluginVMSurefireStarter.java:80)
    	  at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:724)
    	  at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAllProviders(AbstractSurefireMojo.java:682)
    	  at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:648)
    	  at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:586)
    	  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    	  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    	  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    	  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    	  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    	  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    	  at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    	  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    	  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    	  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    	  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    	  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    	  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    	  at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    	  at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
    	  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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    	  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    	  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    	  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
    	  at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
    

    It seems like its deadlocked waiting to clear out the JE backend during the test.

    Has anyone seen this issue before? Is there a fix (other than skipping this test)?

    • This topic was modified 5 years, 3 months ago by GuyPaddock. Reason: Formatting
    • This topic was modified 5 years, 3 months ago by GuyPaddock. Reason: Formatting
    #17906
     Ludo
    Moderator

    Hi,

    Yes, we’ve seen occasional and random deadlocks when tearing down the server or test.
    As 3.0 is getting old, it’s hard to remember whether there was a specific error in 3.0, or it was a random failure (after some other tests).

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.

©2022 ForgeRock - we provide an identity and access platform to secure every online relationship for the enterprise market, educational sector and even entire countries. Click to view our privacy policy and terms of use.

Log in with your credentials

Forgot your details?