Annoyingly only one of my posts was allowed through (The one about Windows not having this issue); I had included a complete thread dump in the hopes that it might be useful.
Let's hope that this time my post is allowed to stand.
This can be triggered by installing the latest Oracle Java 7 u 4 for Mac OS X (64 Bit, Lion).
You can verify this with any of the samples, Java or Scala or by creating a new project.
Reverting to Java 1.6 fixes the issue.
What seems to happen is that each request hangs right at the end. Clicking stop in the browser somtimes returns a page with broken formatting, as if the CSS failed to load.
[info] Compiling 7 Scala sources to /jdev/play-2.0/samples/java/forms/target/scala-2.9.1/classes...
[info] play - Application started (Dev)
2012-04-28 10:54:54
Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.0-b21 mixed mode):
"play-akka.actor.promises-dispatcher-12" prio=5 tid=0x00007fb618af4800 nid=0x11e53e000 waiting on condition [0x000000011e53d000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007a303a5a8> (a akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool)
at akka.jsr166y.ForkJoinPool.scan(ForkJoinPool.java:1611)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1495)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
"play-akka.actor.actions-dispatcher-9" prio=5 tid=0x00007fb6188e8000 nid=0x11dd26000 waiting on condition [0x000000011dd25000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007a3039ab8> (a akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool)
at akka.jsr166y.ForkJoinPool.scan(ForkJoinPool.java:1611)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1495)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
"New I/O server worker #1-3" prio=5 tid=0x00007fb618a2f800 nid=0x11dc23000 runnable [0x000000011dc22000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:117)
at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:73)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007e0fa2e68> (a sun.nio.ch.Util$2)
- locked <0x00000007e0fa2e58> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007e0fa2c40> (a sun.nio.ch.PollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:33)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:157)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
"New I/O server worker #1-2" prio=5 tid=0x00007fb6188e7800 nid=0x11d8c8000 runnable [0x000000011d8c7000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:117)
at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:73)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007e0fa2178> (a sun.nio.ch.Util$2)
- locked <0x00000007e0fa2168> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007e0fa1f50> (a sun.nio.ch.PollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:33)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:157)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
"net.sf.ehcache.CacheManager@15596f5c" daemon prio=5 tid=0x00007fb61232c800 nid=0x11cf2a000 in Object.wait() [0x000000011cf29000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007e49e2438> (a java.util.TaskQueue)
at java.lang.Object.wait(Object.java:503)
at java.util.TimerThread.mainLoop(Timer.java:526)
- locked <0x00000007e49e2438> (a java.util.TaskQueue)
at java.util.TimerThread.run(Timer.java:505)
"New I/O server worker #1-1" prio=5 tid=0x00007fb611eb9000 nid=0x11c67c000 runnable [0x000000011c67b000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:117)
at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:73)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007a2f7fc48> (a sun.nio.ch.Util$2)
- locked <0x00000007a3698948> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f56c6aa8> (a sun.nio.ch.PollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.jboss.netty.channel.socket.nio.SelectorUtil.select(SelectorUtil.java:33)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:157)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
"New I/O server boss #1 ([id: 0x1df22064, /0.0.0.0:9000])" prio=5 tid=0x00007fb611f09000 nid=0x11e641000 runnable [0x000000011e640000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:117)
at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:73)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
- locked <0x00000007f56c4438> (a sun.nio.ch.Util$2)
- locked <0x00000007f56c4428> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000007f56c3fc0> (a sun.nio.ch.PollSelectorImpl)
at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink$Boss.run(NioServerSocketPipelineSink.java:232)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
"play-scheduler-1" prio=5 tid=0x00007fb616849800 nid=0x11cbdb000 waiting on condition [0x000000011cbda000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at java.lang.Thread.sleep(Thread.java:338)
at org.jboss.netty.akka.util.HashedWheelTimer$Worker.waitForNextTick(HashedWheelTimer.java:403)
at org.jboss.netty.akka.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:319)
at java.lang.Thread.run(Thread.java:722)
"play-akka.actor.default-dispatcher-2" prio=5 tid=0x00007fb61783b000 nid=0x11c9d5000 waiting on condition [0x000000011c9d4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007a2f81298> (a akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinPool)
at akka.jsr166y.ForkJoinPool.scan(ForkJoinPool.java:1611)
at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1495)
at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
"Service Thread" daemon prio=5 tid=0x00007fb613023800 nid=0x11bf8e000 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=5 tid=0x00007fb613022800 nid=0x11be8b000 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=5 tid=0x00007fb613021000 nid=0x11bd88000 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=5 tid=0x00007fb61301e000 nid=0x11bc85000 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=5 tid=0x00007fb61188b800 nid=0x11b97b000 in Object.wait() [0x000000011b97a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f58c74e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x00000007f58c74e0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
"Reference Handler" daemon prio=5 tid=0x00007fb61188a800 nid=0x11b878000 in Object.wait() [0x000000011b877000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f6125090> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:503)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0x00000007f6125090> (a java.lang.ref.Reference$Lock)
"main" prio=5 tid=0x00007fb611834800 nid=0x110d55000 runnable [0x0000000110d53000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.read(Native Method)
at jline.Terminal.readCharacter(Terminal.java:99)
at jline.UnixTerminal.readVirtualKey(UnixTerminal.java:128)
at jline.ConsoleReader.readVirtualKey(ConsoleReader.java:1453)
at sbt.PlayCommands$class.waitEOF$1(PlayCommands.scala:38)
at sbt.PlayCommands$class.sbt$PlayCommands$$waitForKey(PlayCommands.scala:46)
at sbt.PlayCommands$$anonfun$56$$anonfun$57.apply(PlayCommands.scala:752)
at sbt.PlayCommands$$anonfun$56$$anonfun$57.apply(PlayCommands.scala:608)
at scala.Either$RightProjection.map(Either.scala:285)
at sbt.PlayCommands$$anonfun$56.apply(PlayCommands.scala:608)
at sbt.PlayCommands$$anonfun$56.apply(PlayCommands.scala:593)
at sbt.Command$$anonfun$sbt$Command$$apply1$1$$anonfun$apply$6.apply(Command.scala:74)
at sbt.Command$.process(Command.scala:92)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:121)
at sbt.MainLoop$$anonfun$next$1$$anonfun$apply$1.apply(Main.scala:121)
at sbt.State$$anon$1.process(State.scala:154)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:121)
at sbt.MainLoop$$anonfun$next$1.apply(Main.scala:121)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.MainLoop$.next(Main.scala:121)
at sbt.MainLoop$.run(Main.scala:114)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(Main.scala:103)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(Main.scala:100)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runWithNewLog(Main.scala:100)
at sbt.MainLoop$.runAndClearLast(Main.scala:83)
at sbt.MainLoop$.runLoggedLoop(Main.scala:67)
at sbt.MainLoop$.runLogged(Main.scala:60)
at sbt.xMain.run(Main.scala:33)
at xsbt.boot.Launch$.run(Launch.scala:54)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)
at xsbt.boot.Launch$.launch(Launch.scala:68)
at xsbt.boot.Launch$.apply(Launch.scala:14)
at xsbt.boot.Boot$.runImpl(Boot.scala:25)
at xsbt.boot.Boot$.main(Boot.scala:15)
at xsbt.boot.Boot.main(Boot.scala)
"VM Thread" prio=5 tid=0x00007fb611888000 nid=0x11b775000 runnable
"GC task thread#0 (ParallelGC)" prio=5 tid=0x00007fb611842000 nid=0x1145df000 runnable
"GC task thread#1 (ParallelGC)" prio=5 tid=0x00007fb611842800 nid=0x1146e2000 runnable
"GC task thread#2 (ParallelGC)" prio=5 tid=0x00007fb611843000 nid=0x1147e5000 runnable
"GC task thread#3 (ParallelGC)" prio=5 tid=0x00007fb611844000 nid=0x1148e8000 runnable
"GC task thread#4 (ParallelGC)" prio=5 tid=0x00007fb611844800 nid=0x1149eb000 runnable
"GC task thread#5 (ParallelGC)" prio=5 tid=0x00007fb611845000 nid=0x114aee000 runnable
"GC task thread#6 (ParallelGC)" prio=5 tid=0x00007fb611845800 nid=0x114bf1000 runnable
"GC task thread#7 (ParallelGC)" prio=5 tid=0x00007fb611846800 nid=0x114cf4000 runnable
"VM Periodic Task Thread" prio=5 tid=0x00007fb613019800 nid=0x11c091000 waiting on condition
JNI global references: 310
Heap
PSYoungGen total 326528K, used 159118K [0x00000007e0000000, 0x00000007f84c0000, 0x0000000800000000)
eden space 262144K, 47% used [0x00000007e0000000,0x00000007e79bc3c8,0x00000007f0000000)
from space 64384K, 53% used [0x00000007f45e0000,0x00000007f6787790,0x00000007f84c0000)
to space 67968K, 0% used [0x00000007f0000000,0x00000007f0000000,0x00000007f4260000)
ParOldGen total 349568K, used 99716K [0x00000007a0000000, 0x00000007b5560000, 0x00000007e0000000)
object space 349568K, 28% used [0x00000007a0000000,0x00000007a6161038,0x00000007b5560000)
PSPermGen total 68288K, used 68165K [0x0000000788000000, 0x000000078c2b0000, 0x00000007a0000000)
object space 68288K, 99% used [0x0000000788000000,0x000000078c291400,0x000000078c2b0000)