You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Stefano Bagnara (JIRA)" <se...@james.apache.org> on 2008/08/04 20:22:44 UTC

[jira] Created: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
-------------------------------------------------------------

                 Key: JSPF-65
                 URL: https://issues.apache.org/jira/browse/JSPF-65
             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: [jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by Norman Maurer <no...@apache.org>.
/me is crossing fingers ;-)



2009/5/31 Stefano Bagnara (JIRA) <se...@james.apache.org>:
>
>    [ 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: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12628971#action_12628971 ] 

Stefano Bagnara commented on JSPF-65:
-------------------------------------

Today on hudson:
------
"DnsSelect" daemon prio=10 tid=0x084b02e0 nid=0x14 runnable [0xb369e000..0xb369ed38]
	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 <0xf5a64600> (a sun.nio.ch.Util$1)
	- locked <0xf5a645f0> (a java.util.Collections$UnmodifiableSet)
	- locked <0xf5a64488> (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=0x08471ac8 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=0x084bb358 nid=0x12 in Object.wait() [0xb3779000..0xb3779c38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf5a6b900> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf5a6b900> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.LookupAsynch$ProcessingTask.run(Unknown Source)
	- locked <0xf5a6b900> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Thread.run(Thread.java:595)

"SPFExecutor" daemon prio=10 tid=0x084e1568 nid=0x11 in Object.wait() [0xb37ba000..0xb37babb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf5a6b2c0> (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 <0xf5a6b2c0> (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-1" prio=10 tid=0x084e1240 nid=0x10 in Object.wait() [0xb37fb000..0xb37fbb38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf5a6b428> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf5a6b428> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"EnbrResolutionThread-0" prio=10 tid=0x0833c9c8 nid=0xf in Object.wait() [0xb383c000..0xb383cab8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf5a6bd90> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf5a6bd90> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"Thread-1" daemon prio=10 tid=0x084f2450 nid=0xe runnable [0xb387d000..0xb387da38]
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0xf5a6cda8> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0xf5a6cda8> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0xf5a6cde8> (a java.net.DatagramPacket)
	- locked <0xf5a6ce08> (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=0x084f3448 nid=0xd runnable [0xb38be000..0xb38bedb8]
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0xf5a6ce58> (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=0x08191d60 nid=0xb runnable [0x00000000..0x00000000]

"CompilerThread1" daemon prio=10 tid=0x081904e8 nid=0xa waiting on condition [0x00000000..0xf8077fc0]

"CompilerThread0" daemon prio=10 tid=0x0818f6b8 nid=0x9 waiting on condition [0x00000000..0xf80b8f48]

"AdapterThread" daemon prio=10 tid=0x0818e888 nid=0x8 waiting on condition [0x00000000..0x00000000]

"Signal Dispatcher" daemon prio=10 tid=0x0818dac0 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 <0xf5a6d2a0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
	- locked <0xf5a6d2a0> (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 <0xf5a541a8> (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 <0xf5a541a8> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x080745c0 nid=0x1 in Object.wait() [0x08045000..0x08046d70]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf5a6c178> (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 <0xf5a6c178> (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:265)
	at org.apache.james.jspf.AbstractYamlTest.runTest(AbstractYamlTest.java:228)
	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:345)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)

"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 


> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
> -------------------------------------------------------------
>
>                 Key: JSPF-65
>                 URL: https://issues.apache.org/jira/browse/JSPF-65
>             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Resolved: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
     [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefano Bagnara resolved JSPF-65.
---------------------------------

    Resolution: Fixed
      Assignee: Stefano Bagnara

Hudson did more than 1000 test runs and did not fail, so I hope this is really fixed by JSPF-73.

> 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
>            Assignee: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12623287#action_12623287 ] 

Stefano Bagnara commented on JSPF-65:
-------------------------------------

Upgrading to dnsjnio 1.0.0-beta-1 seems to have fixed this issue.
No one seems to have reproduced the "deadlock" since we upgraded, so good news so far.

We'll have to wait a while for 1.0.0 final because dnsjnio author wants to address the Kaminsky vulnerability, too, before 1.0.0.


> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
> -------------------------------------------------------------
>
>                 Key: JSPF-65
>                 URL: https://issues.apache.org/jira/browse/JSPF-65
>             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Issue Comment Edited: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Norman Maurer (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621426#action_12621426 ] 

norman edited comment on JSPF-65 at 8/11/08 5:32 AM:
------------------------------------------------------------

Some happened on my "private" hudson instance:
Full thread dump Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode):

"DnsSelect" daemon prio=3 tid=0x08504500 nid=0x14 runnable [0xb50ce000..0xb50ced38]
	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 <0xb9e58530> (a sun.nio.ch.Util$1)
	- locked <0xb9e58520> (a java.util.Collections$UnmodifiableSet)
	- locked <0xf2b0fed0> (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=3 tid=0x0854fb18 nid=0x13 waiting on condition [0xb5168000..0xb5168bb8]
	at java.lang.Thread.sleep(Native Method)
	at uk.nominet.dnsjnio.Timer$1.run(Unknown Source)

"LookupAsynchResolver" prio=3 tid=0x086b2640 nid=0x12 in Object.wait() [0xb51a9000..0xb51a9cb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf2b0ff58> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf2b0ff58> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.LookupAsynch$ProcessingTask.run(Unknown Source)
	- locked <0xf2b0ff58> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Thread.run(Thread.java:595)

"SPFExecutor" daemon prio=3 tid=0x083ccf50 nid=0x11 in Object.wait() [0xb51ea000..0xb51eab38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9e57830> (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 <0xb9e57830> (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=3 tid=0x08624a78 nid=0x10 in Object.wait() [0xb522b000..0xb522bc38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9e59038> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xb9e59038> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"EnbrResolutionThread" prio=3 tid=0x086248f0 nid=0xf in Object.wait() [0xb526c000..0xb526cab8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9e59378> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xb9e59378> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"Thread-1" daemon prio=3 tid=0x086ea618 nid=0xe runnable [0xb52ad000..0xb52ada38]
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0xf2b0f0f8> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0xf2b0f0f8> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0xb9e5ed38> (a java.net.DatagramPacket)
	- locked <0xb9e5ed58> (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=3 tid=0x086eaeb0 nid=0xd runnable [0xb52ee000..0xb52eedb8]
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0xf2b0f080> (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=3 tid=0x08191478 nid=0xb runnable [0x00000000..0x00000000]

"CompilerThread1" daemon prio=3 tid=0x0818fc58 nid=0xa waiting on condition [0x00000000..0xf80f9fc8]

"CompilerThread0" daemon prio=3 tid=0x0818ee80 nid=0x9 waiting on condition [0x00000000..0xf813af48]

"AdapterThread" daemon prio=3 tid=0x0818e0a8 nid=0x8 waiting on condition [0x00000000..0x00000000]

"Signal Dispatcher" daemon prio=3 tid=0x0818d338 nid=0x7 waiting on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=3 tid=0x08180cb0 nid=0x6 in Object.wait() [0xf81fe000..0xf81fedb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9e5bb80> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
	- locked <0xb9e5bb80> (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=3 tid=0x08180958 nid=0x5 in Object.wait() [0xfb244000..0xfb244a38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf2b15500> (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 <0xf2b15500> (a java.lang.ref.Reference$Lock)

"main" prio=3 tid=0x08074198 nid=0x1 in Object.wait() [0x08046000..0x08047118]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf2a31d60> (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 <0xf2a31d60> (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:338)
	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

"VM Thread" prio=3 tid=0x0817e880 nid=0x4 runnable 

"GC task thread#0 (ParallelGC)" prio=3 tid=0x080f5c50 nid=0x2 runnable 

"GC task thread#1 (ParallelGC)" prio=3 tid=0x080f6690 nid=0x3 runnable 

"VM Periodic Task Thread" prio=3 tid=0x080ed348 nid=0xc waiting on condition 


      was (Author: norman):
    Some happened on my "private" hudson instance:

[INFO] root.mailzone-#36-verify PASSED. Result=fail Explanation=http://www.openspf.org/why.html?sender=14.spf1-test.mailzone.com&ip=208.210.124.192 Header=fail (spfCheck: domain of 14.spf1-test.mailzone.com does not designate 208.210.124.192 as permitted sender) client-ip=208.210.124.192; envelope-from=14.spf1-test.mailzone.com; helo=14.spf1-test.mailzone.com;
Full thread dump Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode):

"Thread-2" prio=3 tid=0x0848ea58 nid=0x16 runnable [0xb4d5c000..0xb4d5cbb8]
	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 <0xf7cec738> (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 <0xf7cec738> (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-1" prio=3 tid=0x089144e0 nid=0x15 runnable [0xb4d9d000..0xb4d9dc38]
	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 <0xf7cec5c8> (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 <0xf7d81de0> (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 <0xf7d81de0> (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=3 tid=0x08965af0 nid=0x14 runnable [0xb533e000..0xb533eb38]
	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=3 tid=0x084c1cd0 nid=0xe in Object.wait() [0xb543c000..0xb543dc38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf7cec550> (a java.lang.UNIXProcess)
	at java.lang.Object.wait(Object.java:474)
	at java.lang.UNIXProcess.waitFor(UNIXProcess.java:115)
	- locked <0xf7cec550> (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:666)
	at org.apache.maven.surefire.booter.SurefireBooter.forkSuites(SurefireBooter.java:472)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesForkOnce(SurefireBooter.java:372)
	at org.apache.maven.surefire.booter.SurefireBooter.run(SurefireBooter.java:245)
	at org.apache.maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugin.java:492)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
	at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:136)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:42)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
	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:524)
	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:470)
	at hudson.remoting.UserRequest.perform(UserRequest.java:69)
	at hudson.remoting.UserRequest.perform(UserRequest.java:23)
	at hudson.remoting.Request$2.run(Request.java:200)
	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=3 tid=0x08783428 nid=0xd runnable [0xb547e000..0xb547ebb8]
	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=3 tid=0x08191748 nid=0xb runnable [0x00000000..0x00000000]

"CompilerThread1" daemon prio=3 tid=0x0818ff18 nid=0xa waiting on condition [0x00000000..0xf80f9dc8]

"CompilerThread0" daemon prio=3 tid=0x0818f140 nid=0x9 waiting on condition [0x00000000..0xf813b148]

"AdapterThread" daemon prio=3 tid=0x0818e2c8 nid=0x8 waiting on condition [0x00000000..0x00000000]

"Signal Dispatcher" daemon prio=3 tid=0x0818d5f8 nid=0x7 waiting on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=3 tid=0x081810b0 nid=0x6 in Object.wait() [0xf81fe000..0xf81fec38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9ec1050> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
	- locked <0xb9ec1050> (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=3 tid=0x08180c18 nid=0x5 in Object.wait() [0xfb244000..0xfb244bb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9f84d58> (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 <0xb9f84d58> (a java.lang.ref.Reference$Lock)

"main" prio=3 tid=0x08074460 nid=0x1 in Object.wait() [0x08046000..0x08047008]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9f6f8a8> (a hudson.remoting.Channel)
	at java.lang.Object.wait(Object.java:474)
	at hudson.remoting.Channel.join(Channel.java:479)
	- locked <0xb9f6f8a8> (a hudson.remoting.Channel)
	at hudson.remoting.Launcher.main(Launcher.java:69)
	at hudson.remoting.Launcher.main(Launcher.java:52)
	at hudson.remoting.Launcher.main(Launcher.java:48)
	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=3 tid=0x0817eb40 nid=0x4 runnable 

"GC task thread#0 (ParallelGC)" prio=3 tid=0x080f5ef0 nid=0x2 runnable 

"GC task thread#1 (ParallelGC)" prio=3 tid=0x080f6930 nid=0x3 runnable 

"VM Periodic Task Thread" prio=3 tid=0x080ed5e8 nid=0xc waiting on condition 

  
> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
> -------------------------------------------------------------
>
>                 Key: JSPF-65
>                 URL: https://issues.apache.org/jira/browse/JSPF-65
>             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12714874#action_12714874 ] 

Stefano Bagnara commented on JSPF-65:
-------------------------------------

We should enable back the repeated build on hudson to see if JSPF-73 fixed this.

> 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Norman Maurer (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621426#action_12621426 ] 

Norman Maurer commented on JSPF-65:
-----------------------------------

Some happened on my "private" hudson instance:

[INFO] root.mailzone-#36-verify PASSED. Result=fail Explanation=http://www.openspf.org/why.html?sender=14.spf1-test.mailzone.com&ip=208.210.124.192 Header=fail (spfCheck: domain of 14.spf1-test.mailzone.com does not designate 208.210.124.192 as permitted sender) client-ip=208.210.124.192; envelope-from=14.spf1-test.mailzone.com; helo=14.spf1-test.mailzone.com;
Full thread dump Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode):

"Thread-2" prio=3 tid=0x0848ea58 nid=0x16 runnable [0xb4d5c000..0xb4d5cbb8]
	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 <0xf7cec738> (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 <0xf7cec738> (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-1" prio=3 tid=0x089144e0 nid=0x15 runnable [0xb4d9d000..0xb4d9dc38]
	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 <0xf7cec5c8> (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 <0xf7d81de0> (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 <0xf7d81de0> (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=3 tid=0x08965af0 nid=0x14 runnable [0xb533e000..0xb533eb38]
	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=3 tid=0x084c1cd0 nid=0xe in Object.wait() [0xb543c000..0xb543dc38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf7cec550> (a java.lang.UNIXProcess)
	at java.lang.Object.wait(Object.java:474)
	at java.lang.UNIXProcess.waitFor(UNIXProcess.java:115)
	- locked <0xf7cec550> (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:666)
	at org.apache.maven.surefire.booter.SurefireBooter.forkSuites(SurefireBooter.java:472)
	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesForkOnce(SurefireBooter.java:372)
	at org.apache.maven.surefire.booter.SurefireBooter.run(SurefireBooter.java:245)
	at org.apache.maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugin.java:492)
	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
	at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:136)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:42)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
	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:524)
	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:470)
	at hudson.remoting.UserRequest.perform(UserRequest.java:69)
	at hudson.remoting.UserRequest.perform(UserRequest.java:23)
	at hudson.remoting.Request$2.run(Request.java:200)
	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=3 tid=0x08783428 nid=0xd runnable [0xb547e000..0xb547ebb8]
	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=3 tid=0x08191748 nid=0xb runnable [0x00000000..0x00000000]

"CompilerThread1" daemon prio=3 tid=0x0818ff18 nid=0xa waiting on condition [0x00000000..0xf80f9dc8]

"CompilerThread0" daemon prio=3 tid=0x0818f140 nid=0x9 waiting on condition [0x00000000..0xf813b148]

"AdapterThread" daemon prio=3 tid=0x0818e2c8 nid=0x8 waiting on condition [0x00000000..0x00000000]

"Signal Dispatcher" daemon prio=3 tid=0x0818d5f8 nid=0x7 waiting on condition [0x00000000..0x00000000]

"Finalizer" daemon prio=3 tid=0x081810b0 nid=0x6 in Object.wait() [0xf81fe000..0xf81fec38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9ec1050> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
	- locked <0xb9ec1050> (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=3 tid=0x08180c18 nid=0x5 in Object.wait() [0xfb244000..0xfb244bb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9f84d58> (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 <0xb9f84d58> (a java.lang.ref.Reference$Lock)

"main" prio=3 tid=0x08074460 nid=0x1 in Object.wait() [0x08046000..0x08047008]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xb9f6f8a8> (a hudson.remoting.Channel)
	at java.lang.Object.wait(Object.java:474)
	at hudson.remoting.Channel.join(Channel.java:479)
	- locked <0xb9f6f8a8> (a hudson.remoting.Channel)
	at hudson.remoting.Launcher.main(Launcher.java:69)
	at hudson.remoting.Launcher.main(Launcher.java:52)
	at hudson.remoting.Launcher.main(Launcher.java:48)
	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=3 tid=0x0817eb40 nid=0x4 runnable 

"GC task thread#0 (ParallelGC)" prio=3 tid=0x080f5ef0 nid=0x2 runnable 

"GC task thread#1 (ParallelGC)" prio=3 tid=0x080f6930 nid=0x3 runnable 

"VM Periodic Task Thread" prio=3 tid=0x080ed5e8 nid=0xc waiting on condition 


> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
> -------------------------------------------------------------
>
>                 Key: JSPF-65
>                 URL: https://issues.apache.org/jira/browse/JSPF-65
>             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ https://issues.apache.org/jira/browse/JSPF-65?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619837#action_12619837 ] 

Stefano Bagnara commented on JSPF-65:
-------------------------------------

It happened again, almost identical stack (pruned to the interesting threads):

"DnsSelect" daemon prio=10 tid=0x08576ff0 nid=0x14 runnable [0xb36be000..0xb36bedb8]
	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 <0xf3612350> (a sun.nio.ch.Util$1)
	- locked <0xf3612340> (a java.util.Collections$UnmodifiableSet)
	- locked <0xf3611050> (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=0x0835c878 nid=0x13 waiting on condition [0xb3738000..0xb3738b38]
	at java.lang.Thread.sleep(Native Method)
	at uk.nominet.dnsjnio.Timer$1.run(Unknown Source)

"LookupAsynchResolver" prio=10 tid=0x08576e68 nid=0x12 in Object.wait() [0xb3779000..0xb3779c38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf3610ea0> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf3610ea0> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.LookupAsynch$ProcessingTask.run(Unknown Source)
	- locked <0xf3610ea0> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Thread.run(Thread.java:595)

"SPFExecutor" daemon prio=10 tid=0x0857b790 nid=0x11 in Object.wait() [0xb37ba000..0xb37bacb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf3608d30> (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 <0xf3608d30> (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=0x0857b500 nid=0x10 in Object.wait() [0xb37fb000..0xb37fbbb8]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf3618750> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf3618750> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"EnbrResolutionThread" prio=10 tid=0x085301e8 nid=0xf in Object.wait() [0xb383c000..0xb383ca38]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf3618aa8> (a uk.nominet.dnsjnio.ResponseQueue)
	at java.lang.Object.wait(Object.java:474)
	at uk.nominet.dnsjnio.ResponseQueue.getItem(Unknown Source)
	- locked <0xf3618aa8> (a uk.nominet.dnsjnio.ResponseQueue)
	at org.xbill.DNS.ExtendedNonblockingResolver$ResolutionThread.run(Unknown Source)

"Thread-1" daemon prio=10 tid=0x0854ddb0 nid=0xe runnable [0xb387d000..0xb387dab8]
	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
	- locked <0xf375b878> (a java.net.PlainDatagramSocketImpl)
	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
	- locked <0xf375b878> (a java.net.PlainDatagramSocketImpl)
	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
	- locked <0xf375b8b8> (a java.net.DatagramPacket)
	- locked <0xf375b8d8> (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=0x085315d8 nid=0xd runnable [0xb38be000..0xb38bed38]
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
	- locked <0xf375b928> (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)

"main" prio=10 tid=0x080745c0 nid=0x1 in Object.wait() [0x08046000..0x08046eb0]
	at java.lang.Object.wait(Native Method)
	- waiting on <0xf3604168> (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 <0xf3604168> (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)


> Possible racing issue in StagedMultipleSPFExecutor or dnsjnio
> -------------------------------------------------------------
>
>                 Key: JSPF-65
>                 URL: https://issues.apache.org/jira/browse/JSPF-65
>             Project: 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[jira] Commented: (JSPF-65) Possible racing issue in StagedMultipleSPFExecutor or dnsjnio

Posted by "Stefano Bagnara (JIRA)" <se...@james.apache.org>.
    [ 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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org