/me is crossing fingers ;-)
2009/5/31 Stefano Bagnara (JIRA) <[email protected]>: > > [ > https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714909#action_12714909 > ] > > Stefano Bagnara commented on JSPF-65: > ------------------------------------- > > I just reenabled 5 minutes builds on hudson. In past this revealed the above > hang. > >> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio >> ------------------------------------------------------------- >> >> Key: JSPF-65 >> URL: https://issues.apache.org/jira/browse/JSPF-65 >> Project: JAMES jSPF >> Issue Type: Bug >> Components: Core >> Affects Versions: 0.9.6 >> Reporter: Stefano Bagnara >> Priority: Critical >> Fix For: 0.9.7 >> >> >> Today I found an hudson build hang on jspf tests. >> It was good enough I have been able to take a stack dump of the build >> process. >> I'm not sure if the problem is in jSPF or dnsjnio, but here is the stack.. I >> have to investigate on this. >> I ran jSPF tests hundreds of times and never seen this. Hudson built jspf 18 >> times, stuck only once.. let's hope this will show up more often. >> Full thread dump Java HotSpot(TM) Server VM (1.5.0_14-b03 mixed mode): >> "Thread-12" prio=10 tid=0x084f7278 nid=0x2b runnable [0xb2d40000..0xb2d40cb8] >> at java.io.FileInputStream.readBytes(Native Method) >> at java.io.FileInputStream.read(FileInputStream.java:194) >> at >> java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:227) >> at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) >> at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) >> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) >> - locked <0xf4eff148> (a java.io.InputStreamReader) >> at java.io.InputStreamReader.read(InputStreamReader.java:167) >> at java.io.BufferedReader.fill(BufferedReader.java:136) >> at java.io.BufferedReader.readLine(BufferedReader.java:299) >> - locked <0xf4eff148> (a java.io.InputStreamReader) >> at java.io.BufferedReader.readLine(BufferedReader.java:362) >> at >> org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.StreamPumper.run(StreamPumper.java:153) >> "Thread-11" prio=10 tid=0x09688cb0 nid=0x2a runnable [0xb2d81000..0xb2d81c38] >> at java.io.FileInputStream.readBytes(Native Method) >> at java.io.FileInputStream.read(FileInputStream.java:194) >> at >> java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:227) >> at java.io.BufferedInputStream.read1(BufferedInputStream.java:254) >> at java.io.BufferedInputStream.read(BufferedInputStream.java:313) >> - locked <0xf4efa160> (a java.io.BufferedInputStream) >> at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411) >> at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453) >> at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183) >> - locked <0xf4efc608> (a java.io.InputStreamReader) >> at java.io.InputStreamReader.read(InputStreamReader.java:167) >> at java.io.BufferedReader.fill(BufferedReader.java:136) >> at java.io.BufferedReader.readLine(BufferedReader.java:299) >> - locked <0xf4efc608> (a java.io.InputStreamReader) >> at java.io.BufferedReader.readLine(BufferedReader.java:362) >> at >> org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.StreamPumper.run(StreamPumper.java:153) >> "process reaper" daemon prio=10 tid=0x08478528 nid=0x29 runnable >> [0xb37ae000..0xb37aeb38] >> at java.lang.UNIXProcess.waitForProcessExit(Native Method) >> at java.lang.UNIXProcess.access$900(UNIXProcess.java:17) >> at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:86) >> "pool-1-thread-1" prio=10 tid=0x086f9c68 nid=0xe in Object.wait() >> [0xb39fd000..0xb39feab8] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf4ef7ec8> (a java.lang.UNIXProcess) >> at java.lang.Object.wait(Object.java:474) >> at java.lang.UNIXProcess.waitFor(UNIXProcess.java:115) >> - locked <0xf4ef7ec8> (a java.lang.UNIXProcess) >> at >> org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(CommandLineUtils.java:143) >> at >> org.apache.maven.surefire.booter.shade.org.codehaus.plexus.util.cli.CommandLineUtils.executeCommandLine(CommandLineUtils.java:95) >> at >> org.apache.maven.surefire.booter.SurefireBooter.fork(SurefireBooter.java:662) >> at >> org.apache.maven.surefire.booter.SurefireBooter.forkSuites(SurefireBooter.java:468) >> at >> org.apache.maven.surefire.booter.SurefireBooter.runSuitesForkOnce(SurefireBooter.java:368) >> at >> org.apache.maven.surefire.booter.SurefireBooter.run(SurefireBooter.java:241) >> at >> org.apache.maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugin.java:481) >> at >> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447) >> at >> hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:136) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278) >> at >> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143) >> at >> org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:42) >> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333) >> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) >> at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) >> 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.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) >> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) >> at hudson.maven.agent.Main.launch(Main.java:133) >> at hudson.maven.MavenBuilder.call(MavenBuilder.java:129) >> at >> hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:528) >> at >> hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:474) >> at hudson.remoting.UserRequest.perform(UserRequest.java:69) >> at hudson.remoting.UserRequest.perform(UserRequest.java:23) >> at hudson.remoting.Request$2.run(Request.java:206) >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) >> at java.util.concurrent.FutureTask.run(FutureTask.java:123) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) >> at java.lang.Thread.run(Thread.java:595) >> "Channel reader thread: channel" prio=10 tid=0x0854e480 nid=0xd runnable >> [0xb3c9e000..0xb3c9ed38] >> at java.net.SocketInputStream.socketRead0(Native Method) >> at java.net.SocketInputStream.read(SocketInputStream.java:129) >> at java.net.SocketInputStream.read(SocketInputStream.java:182) >> at java.io.FilterInputStream.read(FilterInputStream.java:66) >> at >> java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196) >> at >> java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2486) >> at >> java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2496) >> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1273) >> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) >> at hudson.remoting.Channel$ReaderThread.run(Channel.java:576) >> "Low Memory Detector" daemon prio=10 tid=0x08192100 nid=0xb runnable >> [0x00000000..0x00000000] >> "CompilerThread1" daemon prio=10 tid=0x08190868 nid=0xa waiting on condition >> [0x00000000..0xf8078048] >> "CompilerThread0" daemon prio=10 tid=0x0818fa38 nid=0x9 waiting on condition >> [0x00000000..0xf80b8ec8] >> "AdapterThread" daemon prio=10 tid=0x0818ebe0 nid=0x8 waiting on condition >> [0x00000000..0x00000000] >> "Signal Dispatcher" daemon prio=10 tid=0x0818de18 nid=0x7 waiting on >> condition [0x00000000..0x00000000] >> "Finalizer" daemon prio=10 tid=0x08181880 nid=0x6 in Object.wait() >> [0xf817c000..0xf817cab8] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xb7ecc378> (a java.lang.ref.ReferenceQueue$Lock) >> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120) >> - locked <0xb7ecc378> (a java.lang.ref.ReferenceQueue$Lock) >> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136) >> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) >> "Reference Handler" daemon prio=10 tid=0x08181380 nid=0x5 in Object.wait() >> [0xf81bd000..0xf81bdd38] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xb8057e80> (a java.lang.ref.Reference$Lock) >> at java.lang.Object.wait(Object.java:474) >> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) >> - locked <0xb8057e80> (a java.lang.ref.Reference$Lock) >> "main" prio=10 tid=0x080748f8 nid=0x1 in Object.wait() >> [0x08046000..0x08046d78] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xb80ad328> (a hudson.remoting.Channel) >> at java.lang.Object.wait(Object.java:474) >> at hudson.remoting.Channel.join(Channel.java:479) >> - locked <0xb80ad328> (a hudson.remoting.Channel) >> at hudson.remoting.Launcher.main(Launcher.java:99) >> at hudson.remoting.Launcher.main(Launcher.java:82) >> at hudson.remoting.Launcher.main(Launcher.java:78) >> 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 hudson.maven.agent.Main.main(Main.java:91) >> at hudson.maven.agent.Main.main(Main.java:38) >> "VM Thread" prio=10 tid=0x0817f2a8 nid=0x4 runnable >> "GC task thread#0 (ParallelGC)" prio=10 tid=0x080f6678 nid=0x2 runnable >> "GC task thread#1 (ParallelGC)" prio=10 tid=0x080f70b8 nid=0x3 runnable >> "VM Periodic Task Thread" prio=10 tid=0x080edd70 nid=0xc waiting on condition >> Full thread dump Java HotSpot(TM) Server VM (1.5.0_14-b03 mixed mode): >> "DnsSelect" daemon prio=10 tid=0x08388b70 nid=0x14 runnable >> [0xb36be000..0xb36bed38] >> at sun.nio.ch.DevPollArrayWrapper.poll0(Native Method) >> at sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:164) >> at sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:68) >> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) >> - locked <0xf3494f30> (a sun.nio.ch.Util$1) >> - locked <0xf3494f20> (a java.util.Collections$UnmodifiableSet) >> - locked <0xf3494cf8> (a sun.nio.ch.DevPollSelectorImpl) >> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) >> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84) >> at uk.nominet.dnsjnio.DnsController.selectLoop(Unknown Source) >> at uk.nominet.dnsjnio.DnsController.access$000(Unknown Source) >> at uk.nominet.dnsjnio.DnsController$1.run(Unknown Source) >> "DnsTimer" daemon prio=10 tid=0x08362d88 nid=0x13 waiting on condition >> [0xb3738000..0xb3738cb8] >> at java.lang.Thread.sleep(Native Method) >> at uk.nominet.dnsjnio.Timer$1.run(Unknown Source) >> "LookupAsynchResolver" prio=10 tid=0x08372c38 nid=0x12 in Object.wait() >> [0xb3779000..0xb3779c38] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3496578> (a uk.nominet.dnsjnio.ResponseQueue) >> at java.lang.Object.wait(Object.java:474) >> at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source) >> - locked <0xf3496578> (a uk.nominet.dnsjnio.ResponseQueue) >> at org.xbill.DNS.LookupAsynch$ProcessingTask.run(Unknown Source) >> - locked <0xf3496578> (a uk.nominet.dnsjnio.ResponseQueue) >> at java.lang.Thread.run(Thread.java:595) >> "SPFExecutor" daemon prio=10 tid=0x0855bba0 nid=0x11 in Object.wait() >> [0xb37ba000..0xb37babb8] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3495d18> (a >> org.apache.james.jspf.executor.StagedMultipleSPFExecutor$ResponseQueueImpl) >> at java.lang.Object.wait(Object.java:474) >> at >> org.apache.james.jspf.executor.StagedMultipleSPFExecutor$ResponseQueueImpl.removeResponse(StagedMultipleSPFExecutor.java:64) >> - locked <0xf3495d18> (a >> org.apache.james.jspf.executor.StagedMultipleSPFExecutor$ResponseQueueImpl) >> at >> org.apache.james.jspf.executor.StagedMultipleSPFExecutor.run(StagedMultipleSPFExecutor.java:175) >> at java.lang.Thread.run(Thread.java:595) >> "EnbrResolutionThread" prio=10 tid=0x0855b6f0 nid=0x10 in Object.wait() >> [0xb37fb000..0xb37fbb38] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3495948> (a uk.nominet.dnsjnio.ResponseQueue) >> at java.lang.Object.wait(Object.java:474) >> at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source) >> - locked <0xf3495948> (a uk.nominet.dnsjnio.ResponseQueue) >> at >> org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown >> Source) >> "EnbrResolutionThread" prio=10 tid=0x08462f60 nid=0xf in Object.wait() >> [0xb383c000..0xb383cab8] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3496520> (a uk.nominet.dnsjnio.ResponseQueue) >> at java.lang.Object.wait(Object.java:474) >> at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source) >> - locked <0xf3496520> (a uk.nominet.dnsjnio.ResponseQueue) >> at >> org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown >> Source) >> "Thread-1" daemon prio=10 tid=0x084627d0 nid=0xe runnable >> [0xb387d000..0xb387da38] >> at java.net.PlainDatagramSocketImpl.receive0(Native Method) >> - locked <0xf3497480> (a java.net.PlainDatagramSocketImpl) >> at >> java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) >> - locked <0xf3497480> (a java.net.PlainDatagramSocketImpl) >> at java.net.DatagramSocket.receive(DatagramSocket.java:712) >> - locked <0xf34974c0> (a java.net.DatagramPacket) >> - locked <0xf34974e0> (a java.net.DatagramSocket) >> at >> org.apache.james.jspf.dnsserver.UDPListener.run(UDPListener.java:130) >> at java.lang.Thread.run(Thread.java:595) >> "Thread-0" daemon prio=10 tid=0x083ec700 nid=0xd runnable >> [0xb38be000..0xb38bedb8] >> at java.net.PlainSocketImpl.socketAccept(Native Method) >> at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384) >> - locked <0xf3497530> (a java.net.SocksSocketImpl) >> at java.net.ServerSocket.implAccept(ServerSocket.java:450) >> at java.net.ServerSocket.accept(ServerSocket.java:421) >> at >> org.apache.james.jspf.dnsserver.TCPListener.run(TCPListener.java:128) >> at java.lang.Thread.run(Thread.java:595) >> "Low Memory Detector" daemon prio=10 tid=0x08191d58 nid=0xb runnable >> [0x00000000..0x00000000] >> "CompilerThread1" daemon prio=10 tid=0x081904e0 nid=0xa waiting on condition >> [0x00000000..0xf8077fc0] >> "CompilerThread0" daemon prio=10 tid=0x0818f6b0 nid=0x9 waiting on condition >> [0x00000000..0xf80b8f48] >> "AdapterThread" daemon prio=10 tid=0x0818e880 nid=0x8 waiting on condition >> [0x00000000..0x00000000] >> "Signal Dispatcher" daemon prio=10 tid=0x0818dab8 nid=0x7 waiting on >> condition [0x00000000..0x00000000] >> "Finalizer" daemon prio=10 tid=0x08182530 nid=0x6 in Object.wait() >> [0xf817c000..0xf817ca38] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3497978> (a java.lang.ref.ReferenceQueue$Lock) >> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120) >> - locked <0xf3497978> (a java.lang.ref.ReferenceQueue$Lock) >> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136) >> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) >> "Reference Handler" daemon prio=10 tid=0x08181030 nid=0x5 in Object.wait() >> [0xf81bd000..0xf81bddb8] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf34841a8> (a java.lang.ref.Reference$Lock) >> at java.lang.Object.wait(Object.java:474) >> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) >> - locked <0xf34841a8> (a java.lang.ref.Reference$Lock) >> "main" prio=10 tid=0x080745c0 nid=0x1 in Object.wait() >> [0x08046000..0x08046eb0] >> at java.lang.Object.wait(Native Method) >> - waiting on <0xf3496270> (a >> org.apache.james.jspf.executor.FutureSPFResult) >> at java.lang.Object.wait(Object.java:474) >> at >> org.apache.james.jspf.executor.FutureSPFResult.checkReady(FutureSPFResult.java:56) >> - locked <0xf3496270> (a >> org.apache.james.jspf.executor.FutureSPFResult) >> at >> org.apache.james.jspf.executor.FutureSPFResult.getResult(FutureSPFResult.java:99) >> at >> org.apache.james.jspf.AbstractYamlTest.verifyResult(AbstractYamlTest.java:296) >> at >> org.apache.james.jspf.AbstractYamlTest.runTest(AbstractYamlTest.java:264) >> at junit.framework.TestCase.runBare(TestCase.java:127) >> 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) >> "VM Thread" prio=10 tid=0x0817ef58 nid=0x4 runnable >> "GC task thread#0 (ParallelGC)" prio=10 tid=0x080f6318 nid=0x2 runnable >> "GC task thread#1 (ParallelGC)" prio=10 tid=0x080f6d58 nid=0x3 runnable >> "VM Periodic Task Thread" prio=10 tid=0x080eda10 nid=0xc waiting on condition > > -- > This message is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
