Monday, January 5, 2015

Re: Compile of project hangs with 100% CPU used (GWT 2.7.0)

Oops, wrong copy-paste for the idle processes, this is the right one:

2015-01-05 13:07:21
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode):


"Attach Listener" #14 daemon prio=9 os_prio=0 tid=0x00007f98b8001000 nid=0x5487 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x00007f993c1e8800 nid=0x217 runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C1 CompilerThread3" #9 daemon prio=9 os_prio=0 tid=0x00007f993c1db800 nid=0x211 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread2" #8 daemon prio=9 os_prio=0 tid=0x00007f993c1d7000 nid=0x210 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread1" #7 daemon prio=9 os_prio=0 tid=0x00007f993c1d5000 nid=0x207 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 tid=0x00007f993c1d2800 nid=0x206 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Signal Dispatcher" #5 daemon prio=9 os_prio=0 tid=0x00007f993c1d0800 nid=0x204 runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=0 tid=0x00007f993c1ce800 nid=0x1fd waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f993c1a1800 nid=0x1ef in Object.wait() [0x00007f98e0f28000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803ec160> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
 
- locked <0x00000000803ec160> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
 at java
.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)


"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f993c19f800 nid=0x1ee in Object.wait() [0x00007f98e1029000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803ec1a0> (a java.lang.ref.Reference$Lock)
 at java
.lang.Object.wait(Object.java:502)
 at java
.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
 
- locked <0x00000000803ec1a0> (a java.lang.ref.Reference$Lock)


"main" #1 prio=5 os_prio=0 tid=0x00007f993c00f800 nid=0x198 runnable [0x00007f9944d22000]
   java
.lang.Thread.State: RUNNABLE
 at java
.net.SocketInputStream.socketRead0(Native Method)
 at java
.net.SocketInputStream.read(SocketInputStream.java:150)
 at java
.net.SocketInputStream.read(SocketInputStream.java:121)
 at java
.net.SocketInputStream.read(SocketInputStream.java:203)
 at java
.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2296)
 at java
.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2476)
 at java
.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2546)
 at java
.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2618)
 at java
.io.ObjectInputStream$BlockDataInputStream.readBoolean(ObjectInputStream.java:2759)
 at java
.io.ObjectInputStream.readBoolean(ObjectInputStream.java:906)
 at com
.google.gwt.dev.CompilePermsServer.run(CompilePermsServer.java:285)
 at com
.google.gwt.dev.CompilePermsServer.main(CompilePermsServer.java:246)


"VM Thread" os_prio=0 tid=0x00007f993c198800 nid=0x1eb runnable


"Gang worker#0 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c024000 nid=0x1c0 runnable


"Gang worker#1 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c026000 nid=0x1c4 runnable


"Gang worker#2 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c027800 nid=0x1c7 runnable


"Gang worker#3 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c029800 nid=0x1ca runnable


"Gang worker#4 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c02b000 nid=0x1cc runnable


"Gang worker#5 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c02d000 nid=0x1ce runnable


"Gang worker#6 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c02e800 nid=0x1d0 runnable


"Gang worker#7 (Parallel GC Threads)" os_prio=0 tid=0x00007f993c030000 nid=0x1d2 runnable


"G1 Main Concurrent Mark GC Thread" os_prio=0 tid=0x00007f993c04a000 nid=0x1e2 runnable


"Gang worker#0 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f993c04c000 nid=0x1e3 runnable


"Gang worker#1 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f993c04d800 nid=0x1e4 runnable


"G1 Concurrent Refinement Thread#0" os_prio=0 tid=0x00007f993c041000 nid=0x1df runnable


"G1 Concurrent Refinement Thread#1" os_prio=0 tid=0x00007f993c03f800 nid=0x1de runnable


"G1 Concurrent Refinement Thread#2" os_prio=0 tid=0x00007f993c03d800 nid=0x1dd runnable


"G1 Concurrent Refinement Thread#3" os_prio=0 tid=0x00007f993c03c000 nid=0x1dc runnable


"G1 Concurrent Refinement Thread#4" os_prio=0 tid=0x00007f993c03a000 nid=0x1db runnable


"G1 Concurrent Refinement Thread#5" os_prio=0 tid=0x00007f993c038800 nid=0x1da runnable


"G1 Concurrent Refinement Thread#6" os_prio=0 tid=0x00007f993c036800 nid=0x1d8 runnable


"G1 Concurrent Refinement Thread#7" os_prio=0 tid=0x00007f993c035000 nid=0x1d7 runnable


"G1 Concurrent Refinement Thread#8" os_prio=0 tid=0x00007f993c033000 nid=0x1d5 runnable


"VM Periodic Task Thread" os_prio=0 tid=0x00007f993c1eb800 nid=0x219 waiting on condition


JNI
global references: 105


--
Andreas

On Monday, January 5, 2015 2:10:38 PM UTC+1, Andreas Kohn wrote:
Hi,

one of our automatic builds of our application got stuck, and executing `jstack` on the process eating 100% CPU gives this:

2015-01-05 12:52:03
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode):


"Attach Listener" #14 daemon prio=9 os_prio=0 tid=0x00007f1fa0001000 nid=0x536c waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"jscompiler" #13 prio=5 os_prio=0 tid=0x00007f20289f4000 nid=0x22c runnable [0x00007f1fc1ffd000]
   java
.lang.Thread.State: RUNNABLE
 at com
.google.gwt.thirdparty.guava.common.collect.AbstractMultimap.keySet(AbstractMultimap.java:150)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.keySet(HashMultimap.java:49)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.<init>(HashMultimap.java:101)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.create(HashMultimap.java:87)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse$ReachingUses.<init>(MaybeReachingVariableUse.java:98)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse.flowThrough(MaybeReachingVariableUse.java:148)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse.flowThrough(MaybeReachingVariableUse.java:44)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.flow(DataFlowAnalysis.java:275)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.analyze(DataFlowAnalysis.java:212)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.analyze(DataFlowAnalysis.java:180)
 at com
.google.gwt.thirdparty.javascript.jscomp.FlowSensitiveInlineVariables.enterScope(FlowSensitiveInlineVariables.java:151)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.pushScope(NodeTraversal.java:600)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:558)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:528)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:314)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:295)
 at com
.google.gwt.thirdparty.javascript.jscomp.FlowSensitiveInlineVariables.process(FlowSensitiveInlineVariables.java:175)
 at com
.google.gwt.thirdparty.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:271)
 at com
.google.gwt.thirdparty.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:215)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.optimize(Compiler.java:1945)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compileInternal(Compiler.java:774)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.access$000(Compiler.java:86)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$2.call(Compiler.java:655)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$2.call(Compiler.java:652)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$3.call(Compiler.java:699)
 at java
.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java
.lang.Thread.run(Thread.java:745)


"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x00007f20281f8800 nid=0x21b runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C1 CompilerThread3" #9 daemon prio=9 os_prio=0 tid=0x00007f20281db800 nid=0x20e waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread2" #8 daemon prio=9 os_prio=0 tid=0x00007f20281d7000 nid=0x20d waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread1" #7 daemon prio=9 os_prio=0 tid=0x00007f20281d5000 nid=0x20c waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 tid=0x00007f20281d2800 nid=0x20b waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Signal Dispatcher" #5 daemon prio=9 os_prio=0 tid=0x00007f20281d0800 nid=0x20a runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=0 tid=0x00007f20281ce800 nid=0x208 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f20281a1800 nid=0x1f4 in Object.wait() [0x00007f1fd3ffe000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803fb7e0> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
 
- locked <0x00000000803fb7e0> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
 at java
.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)


"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f202819f800 nid=0x1f3 in Object.wait() [0x00007f1fd81ce000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803fb820> (a java.lang.ref.Reference$Lock)
 at java
.lang.Object.wait(Object.java:502)
 at java
.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
 
- locked <0x00000000803fb820> (a java.lang.ref.Reference$Lock)


"main" #1 prio=5 os_prio=0 tid=0x00007f202800f800 nid=0x18e waiting on condition [0x00007f202f6d3000]
   java
.lang.Thread.State: WAITING (parking)
 at sun
.misc.Unsafe.park(Native Method)
 
- parking to wait for  <0x0000000082701090> (a java.util.concurrent.FutureTask)
 at java
.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 at java
.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
 at java
.util.concurrent.FutureTask.get(FutureTask.java:191)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:719)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compile(Compiler.java:652)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compileModules(Compiler.java:643)
 at com
.google.gwt.dev.js.ClosureJsRunner.compile(ClosureJsRunner.java:197)
 at com
.google.gwt.dev.jjs.JavaToJavaScriptCompiler$PermutationCompiler.generateJavaScriptCode(JavaToJavaScriptCompiler.java:524)
 at com
.google.gwt.dev.jjs.JavaToJavaScriptCompiler$PermutationCompiler.compilePermutation(JavaToJavaScriptCompiler.java:347)
 at com
.google.gwt.dev.jjs.MonolithicJavaToJavaScriptCompiler.compilePermutation(MonolithicJavaToJavaScriptCompiler.java:296)
 at com
.google.gwt.dev.jjs.UnifiedAst.compilePermutation(UnifiedAst.java:143)
 at com
.google.gwt.dev.CompilePerms.compile(CompilePerms.java:197)
 at com
.google.gwt.dev.CompilePermsServer.compilePermutation(CompilePermsServer.java:319)
 at com
.google.gwt.dev.CompilePermsServer.run(CompilePermsServer.java:283)
 at com
.google.gwt.dev.CompilePermsServer.main(CompilePermsServer.java:246)


"VM Thread" os_prio=0 tid=0x00007f2028198800 nid=0x1ec runnable


"Gang worker#0 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028024000 nid=0x1b4 runnable


"Gang worker#1 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028026000 nid=0x1b7 runnable


"Gang worker#2 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028027800 nid=0x1ba runnable


"Gang worker#3 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028029800 nid=0x1bb runnable


"Gang worker#4 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802b000 nid=0x1bc runnable


"Gang worker#5 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802d000 nid=0x1bd runnable


"Gang worker#6 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802e800 nid=0x1be runnable


"Gang worker#7 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028030000 nid=0x1bf runnable


"G1 Main Concurrent Mark GC Thread" os_prio=0 tid=0x00007f202804a000 nid=0x1e0 runnable


"Gang worker#0 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f202804c000 nid=0x1e1 runnable


"Gang worker#1 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f202804d800 nid=0x1e5 runnable


"G1 Concurrent Refinement Thread#0" os_prio=0 tid=0x00007f2028041000 nid=0x1d9 runnable


"G1 Concurrent Refinement Thread#1" os_prio=0 tid=0x00007f202803f800 nid=0x1d6 runnable


"G1 Concurrent Refinement Thread#2" os_prio=0 tid=0x00007f202803d800 nid=0x1d3 runnable


"G1 Concurrent Refinement Thread#3" os_prio=0 tid=0x00007f202803c000 nid=0x1d1 runnable


"G1 Concurrent Refinement Thread#4" os_prio=0 tid=0x00007f202803a000 nid=0x1cf runnable


"G1 Concurrent Refinement Thread#5" os_prio=0 tid=0x00007f2028038800 nid=0x1cd runnable


"G1 Concurrent Refinement Thread#6" os_prio=0 tid=0x00007f2028036800 nid=0x1cb runnable


"G1 Concurrent Refinement Thread#7" os_prio=0 tid=0x00007f2028035000 nid=0x1c9 runnable


"G1 Concurrent Refinement Thread#8" os_prio=0 tid=0x00007f2028033000 nid=0x1c5 runnable


"VM Periodic Task Thread" os_prio=0 tid=0x00007f20281fc000 nid=0x21c waiting on condition


JNI
global references: 150


This is a c3.2xlarge machine in AWS EC2.

There are 3 other GWT compiler processes, each of them looks like this:

2015-01-05 12:52:03
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode):


"Attach Listener" #14 daemon prio=9 os_prio=0 tid=0x00007f1fa0001000 nid=0x536c waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"jscompiler" #13 prio=5 os_prio=0 tid=0x00007f20289f4000 nid=0x22c runnable [0x00007f1fc1ffd000]
   java
.lang.Thread.State: RUNNABLE
 at com
.google.gwt.thirdparty.guava.common.collect.AbstractMultimap.keySet(AbstractMultimap.java:150)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.keySet(HashMultimap.java:49)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.<init>(HashMultimap.java:101)
 at com
.google.gwt.thirdparty.guava.common.collect.HashMultimap.create(HashMultimap.java:87)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse$ReachingUses.<init>(MaybeReachingVariableUse.java:98)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse.flowThrough(MaybeReachingVariableUse.java:148)
 at com
.google.gwt.thirdparty.javascript.jscomp.MaybeReachingVariableUse.flowThrough(MaybeReachingVariableUse.java:44)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.flow(DataFlowAnalysis.java:275)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.analyze(DataFlowAnalysis.java:212)
 at com
.google.gwt.thirdparty.javascript.jscomp.DataFlowAnalysis.analyze(DataFlowAnalysis.java:180)
 at com
.google.gwt.thirdparty.javascript.jscomp.FlowSensitiveInlineVariables.enterScope(FlowSensitiveInlineVariables.java:151)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.pushScope(NodeTraversal.java:600)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseFunction(NodeTraversal.java:558)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:528)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseBranch(NodeTraversal.java:534)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:314)
 at com
.google.gwt.thirdparty.javascript.jscomp.NodeTraversal.traverseRoots(NodeTraversal.java:295)
 at com
.google.gwt.thirdparty.javascript.jscomp.FlowSensitiveInlineVariables.process(FlowSensitiveInlineVariables.java:175)
 at com
.google.gwt.thirdparty.javascript.jscomp.PhaseOptimizer$NamedPass.process(PhaseOptimizer.java:271)
 at com
.google.gwt.thirdparty.javascript.jscomp.PhaseOptimizer.process(PhaseOptimizer.java:215)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.optimize(Compiler.java:1945)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compileInternal(Compiler.java:774)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.access$000(Compiler.java:86)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$2.call(Compiler.java:655)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$2.call(Compiler.java:652)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler$3.call(Compiler.java:699)
 at java
.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java
.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java
.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java
.lang.Thread.run(Thread.java:745)


"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x00007f20281f8800 nid=0x21b runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C1 CompilerThread3" #9 daemon prio=9 os_prio=0 tid=0x00007f20281db800 nid=0x20e waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread2" #8 daemon prio=9 os_prio=0 tid=0x00007f20281d7000 nid=0x20d waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread1" #7 daemon prio=9 os_prio=0 tid=0x00007f20281d5000 nid=0x20c waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 tid=0x00007f20281d2800 nid=0x20b waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Signal Dispatcher" #5 daemon prio=9 os_prio=0 tid=0x00007f20281d0800 nid=0x20a runnable [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=0 tid=0x00007f20281ce800 nid=0x208 waiting on condition [0x0000000000000000]
   java
.lang.Thread.State: RUNNABLE


"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f20281a1800 nid=0x1f4 in Object.wait() [0x00007f1fd3ffe000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803fb7e0> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)
 
- locked <0x00000000803fb7e0> (a java.lang.ref.ReferenceQueue$Lock)
 at java
.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:158)
 at java
.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)


"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f202819f800 nid=0x1f3 in Object.wait() [0x00007f1fd81ce000]
   java
.lang.Thread.State: WAITING (on object monitor)
 at java
.lang.Object.wait(Native Method)
 
- waiting on <0x00000000803fb820> (a java.lang.ref.Reference$Lock)
 at java
.lang.Object.wait(Object.java:502)
 at java
.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
 
- locked <0x00000000803fb820> (a java.lang.ref.Reference$Lock)


"main" #1 prio=5 os_prio=0 tid=0x00007f202800f800 nid=0x18e waiting on condition [0x00007f202f6d3000]
   java
.lang.Thread.State: WAITING (parking)
 at sun
.misc.Unsafe.park(Native Method)
 
- parking to wait for  <0x0000000082701090> (a java.util.concurrent.FutureTask)
 at java
.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 at java
.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
 at java
.util.concurrent.FutureTask.get(FutureTask.java:191)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.runInCompilerThread(Compiler.java:719)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compile(Compiler.java:652)
 at com
.google.gwt.thirdparty.javascript.jscomp.Compiler.compileModules(Compiler.java:643)
 at com
.google.gwt.dev.js.ClosureJsRunner.compile(ClosureJsRunner.java:197)
 at com
.google.gwt.dev.jjs.JavaToJavaScriptCompiler$PermutationCompiler.generateJavaScriptCode(JavaToJavaScriptCompiler.java:524)
 at com
.google.gwt.dev.jjs.JavaToJavaScriptCompiler$PermutationCompiler.compilePermutation(JavaToJavaScriptCompiler.java:347)
 at com
.google.gwt.dev.jjs.MonolithicJavaToJavaScriptCompiler.compilePermutation(MonolithicJavaToJavaScriptCompiler.java:296)
 at com
.google.gwt.dev.jjs.UnifiedAst.compilePermutation(UnifiedAst.java:143)
 at com
.google.gwt.dev.CompilePerms.compile(CompilePerms.java:197)
 at com
.google.gwt.dev.CompilePermsServer.compilePermutation(CompilePermsServer.java:319)
 at com
.google.gwt.dev.CompilePermsServer.run(CompilePermsServer.java:283)
 at com
.google.gwt.dev.CompilePermsServer.main(CompilePermsServer.java:246)


"VM Thread" os_prio=0 tid=0x00007f2028198800 nid=0x1ec runnable


"Gang worker#0 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028024000 nid=0x1b4 runnable


"Gang worker#1 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028026000 nid=0x1b7 runnable


"Gang worker#2 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028027800 nid=0x1ba runnable


"Gang worker#3 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028029800 nid=0x1bb runnable


"Gang worker#4 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802b000 nid=0x1bc runnable


"Gang worker#5 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802d000 nid=0x1bd runnable


"Gang worker#6 (Parallel GC Threads)" os_prio=0 tid=0x00007f202802e800 nid=0x1be runnable


"Gang worker#7 (Parallel GC Threads)" os_prio=0 tid=0x00007f2028030000 nid=0x1bf runnable


"G1 Main Concurrent Mark GC Thread" os_prio=0 tid=0x00007f202804a000 nid=0x1e0 runnable


"Gang worker#0 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f202804c000 nid=0x1e1 runnable


"Gang worker#1 (G1 Parallel Marking Threads)" os_prio=0 tid=0x00007f202804d800 nid=0x1e5 runnable


"G1 Concurrent Refinement Thread#0" os_prio=0 tid=0x00007f2028041000 nid=0x1d9 runnable


"G1 Concurrent Refinement Thread#1" os_prio=0 tid=0x00007f202803f800 nid=0x1d6 runnable


"G1 Concurrent Refinement Thread#2" os_prio=0 tid=0x00007f202803d800 nid=0x1d3 runnable


"G1 Concurrent Refinement Thread#3" os_prio=0 tid=0x00007f202803c000 nid=0x1d1 runnable


"G1 Concurrent Refinement Thread#4" os_prio=0 tid=0x00007f202803a000 nid=0x1cf runnable


"G1 Concurrent Refinement Thread#5" os_prio=0 tid=0x00007f2028038800 nid=0x1cd runnable


"G1 Concurrent Refinement Thread#6" os_prio=0 tid=0x00007f2028036800 nid=0x1cb runnable


"G1 Concurrent Refinement Thread#7" os_prio=0 tid=0x00007f2028035000 nid=0x1c9 runnable


"G1 Concurrent Refinement Thread#8" os_prio=0 tid=0x00007f2028033000 nid=0x1c5 runnable


"VM Periodic Task Thread" os_prio=0 tid=0x00007f20281fc000 nid=0x21c waiting on condition


JNI
global references: 150



I've no idea whether this is reproducible, or how. Killing the stuck process manually makes the compilation continue, with some entries in the logs:

05-Jan-2015 14:09:11[INFO] java.io.EOFException
05-Jan-2015 14:09:11[INFO]         at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2601)
05-Jan-2015 14:09:11[INFO]         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1319)
05-Jan-2015 14:09:11[INFO]         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
05-Jan-2015 14:09:11[INFO]         at com.google.gwt.dev.ExternalPermutationWorkerFactory$ExternalPermutationWorker.compile(ExternalPermutationWorkerFactory.java:154)
05-Jan-2015 14:09:11[INFO]         at com.google.gwt.dev.PermutationWorkerFactory$Manager$WorkerThread.run(PermutationWorkerFactory.java:74)
05-Jan-2015 14:09:11[INFO]         at java.lang.Thread.run(Thread.java:745)

Regards,
--
Andreas

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment