-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 05/22/10 20:35, Felix Knecht wrote: >> Can you create a thread dump to see where it hangs? > > If you can tell me how to do this? I have to processes still running. > > In jconsole I could find following in one of the 2 surefirebooter > processes. Does this helps you? > > Name: main > State: RUNNABLE > Total blocked: 2,898 Total waited: 4,018 > > Stack trace: > java.net.SocketInputStream.socketRead0(Native Method) > java.net.SocketInputStream.read(SocketInputStream.java:129) > com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293) > com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:405) > com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360) > com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789) > - locked java.lang.obj...@3dec90c3 > com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1467) > com.sun.net.ssl.internal.ssl.SSLSocketImpl.closeInternal(SSLSocketImpl.java:1419) > com.sun.net.ssl.internal.ssl.SSLSocketImpl.close(SSLSocketImpl.java:1313) > com.sun.jndi.ldap.ext.StartTlsResponseImpl.close(StartTlsResponseImpl.java:267) > org.apache.directory.server.ssl.StartTlsIT.testStartTls(StartTlsIT.java:242) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > java.lang.reflect.Method.invoke(Method.java:597) > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) > org.apache.directory.server.core.integ.FrameworkRunner.runChild(FrameworkRunner.java:394) > org.apache.directory.server.core.integ.FrameworkRunner.runChild(FrameworkRunner.java:56) > org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) > org.junit.runners.ParentRunner.run(ParentRunner.java:236) > org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:238) > org.junit.runners.Suite.runChild(Suite.java:128) > org.apache.directory.server.core.integ.FrameworkSuite.runChild(FrameworkSuite.java:185) > org.apache.directory.server.core.integ.FrameworkSuite.runChild(FrameworkSuite.java:49) > org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) > org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) > org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) > org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) > org.junit.runners.ParentRunner.run(ParentRunner.java:236) > org.apache.directory.server.core.integ.FrameworkSuite.run(FrameworkSuite.java:159) > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59) > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115) > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102) > org.apache.maven.surefire.Surefire.run(Surefire.java:180) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > java.lang.reflect.Method.invoke(Method.java:597) > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350) > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021) >
And that's the other surfirebooter process: Name: main State: RUNNABLE Total blocked: 2,809 Total waited: 3,968 Stack trace: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(SocketInputStream.java:129) com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293) com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:405) com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:789) - locked java.lang.obj...@19bd13e1 com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1467) com.sun.net.ssl.internal.ssl.SSLSocketImpl.closeInternal(SSLSocketImpl.java:1419) com.sun.net.ssl.internal.ssl.SSLSocketImpl.close(SSLSocketImpl.java:1313) com.sun.jndi.ldap.ext.StartTlsResponseImpl.close(StartTlsResponseImpl.java:267) org.apache.directory.server.ssl.StartTlsIT.testStartTls(StartTlsIT.java:242) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) org.apache.directory.server.core.integ.FrameworkRunner.runChild(FrameworkRunner.java:397) org.apache.directory.server.core.integ.FrameworkRunner.runChild(FrameworkRunner.java:56) org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) org.junit.runners.ParentRunner.run(ParentRunner.java:236) org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:238) org.junit.runners.Suite.runChild(Suite.java:128) org.apache.directory.server.core.integ.FrameworkSuite.runChild(FrameworkSuite.java:185) org.apache.directory.server.core.integ.FrameworkSuite.runChild(FrameworkSuite.java:49) org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) org.junit.runners.ParentRunner.run(ParentRunner.java:236) org.apache.directory.server.core.integ.FrameworkSuite.run(FrameworkSuite.java:159) org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59) org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115) org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102) org.apache.maven.surefire.Surefire.run(Surefire.java:180) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350) org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021) > >> The TEST-org.apache.directory.server.suites.StockServerISuite.xml file >> in server-integ/target/surefire-reports/ should also tell you the >> progress of the test. > > StockServerISuite.txt exists, is empty > StockServerISuite.xml doesn't exists > > >> I'm also a bit unhappy to not see the progress directly in the console. >> The usage of a single suite saves some time because less directory >> server instances needs to be started/stopped. When running the tests on >> their own without the suite the build takes approx. 30 seconds longer. >> But maybe it is not worth? > >>> Having a look at the CI log we can also see still running builds. Is >>> there a way to force the test to stop after running x minutes? I think >>> it could be hard trying to find the culprit by debbuging .... > >> Seems to be possible [1]. > >> King Regards, >> Stefan > > >> [1]http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#forkedProcessTimeoutInSeconds > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkv4JDAACgkQ2lZVCB08qHHM/QCggEO6MFEK7TwL69JNhcMrnC9v OjoAoLPW6obvEk1AcGKLQTf4yNTombbI =eUld -----END PGP SIGNATURE-----
