Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Trunk
-
None
Description
Today I found our m2 based build for server-trunk in hudson deadlocked.
Not investigated yet, but here is the deadlock:
Found one Java-level deadlock:
=============================
"Worker Pool Worker #1":
waiting to lock monitor 0x0818e794 (object 0xf0e20de0, a java.util.ArrayList),
which is held by "main"
"main":
waiting to lock monitor 0x0818e8d4 (object 0xf0e21008, a org.apache.james.util.connection.ServerConnection$ClientConnectionRunner),
which is held by "Worker Pool Worker #1"
Java stack information for the threads listed above:
===================================================
"Worker Pool Worker #1":
at org.apache.james.util.connection.ServerConnection.removeClientConnectionRunner(ServerConnection.java:256)
- waiting to lock <0xf0e20de0> (a java.util.ArrayList)
at org.apache.james.util.connection.ServerConnection.access$300(ServerConnection.java:50)
at org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.run(ServerConnection.java:509) - locked <0xf0e21008> (a org.apache.james.util.connection.ServerConnection$ClientConnectionRunner)
at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:57)
at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:118) - locked <0xf0e2d698> (a org.apache.avalon.excalibur.thread.impl.SimpleWorkerThread)
"main":
at org.apache.james.util.connection.ServerConnection$ClientConnectionRunner.dispose(ServerConnection.java:423) - waiting to lock <0xf0e21008> (a org.apache.james.util.connection.ServerConnection$ClientConnectionRunner)
at org.apache.james.util.connection.ServerConnection.dispose(ServerConnection.java:209) - locked <0xf0e20de0> (a java.util.ArrayList)
at org.apache.james.util.connection.SimpleConnectionManager.disconnect(SimpleConnectionManager.java:291)
at org.apache.james.core.AbstractJamesService.dispose(AbstractJamesService.java:620)
at org.apache.james.pop3server.POP3ServerTest.tearDown(POP3ServerTest.java:131)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:334)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:980)