[Swift-devel] Swift unresponsive while using local provider.

Mihael Hategan hategan at mcs.anl.gov
Fri Jun 17 16:19:09 CDT 2011


Thanks. I committed a fix yesterday around a similar issue, but I want
to double check that there are no cases that are going to lead to
problems.

On Fri, 2011-06-17 at 15:13 -0500, David Kelly wrote:
> I just got a freeze running Alberto's script with the default local
> sites.xml. Here is the info:
> 
> 2011-06-17 15:10:34
> Full thread dump Java HotSpot(TM) Server VM (19.1-b02 mixed mode):
> 
> "Attach Listener" daemon prio=10 tid=0x08fd9800 nid=0x237e waiting on
> condition [0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Progress ticker" daemon prio=10 tid=0x08c48800 nid=0x2359 waiting on
> condition [0x9e05c000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>     at java.lang.Thread.sleep(Native Method)
>     at org.griphyn.vdl.karajan.lib.RuntimeStats
> $ProgressTicker.run(RuntimeStats.java:141)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Restart Log Sync" daemon prio=10 tid=0x08b80400 nid=0x2358 in
> Object.wait() [0x9e0ad000]
>    java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0xaed6b160> (a
> org.globus.cog.karajan.workflow.nodes.restartLog.SyncThread)
>     at java.lang.Object.wait(Object.java:485)
>     at
> org.globus.cog.karajan.workflow.nodes.restartLog.SyncThread.run(SyncThread.java:47)
>     - locked <0xaed6b160> (a
> org.globus.cog.karajan.workflow.nodes.restartLog.SyncThread)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Overloaded Host Monitor" daemon prio=10 tid=0x08b47400 nid=0x2357
> waiting on condition [0x9e0fe000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>     at java.lang.Thread.sleep(Native Method)
>     at
> org.globus.cog.karajan.scheduler.OverloadedHostMonitor.run(OverloadedHostMonitor.java:47)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Timer-0" daemon prio=10 tid=0x08f14c00 nid=0x2356 in Object.wait()
> [0x9e676000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0xaf280198> (a java.util.TaskQueue)
>     at java.util.TimerThread.mainLoop(Timer.java:509)
>     - locked <0xaf280198> (a java.util.TaskQueue)
>     at java.util.TimerThread.run(Timer.java:462)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "NBS0" daemon prio=10 tid=0x08b0ec00 nid=0x2355 waiting on condition
> [0x9e6c7000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf280248> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-8" prio=10 tid=0x09008400 nid=0x2354 waiting for
> monitor entry [0x9e718000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>     at org.griphyn.vdl.karajan.WrapperMap.close(WrapperMap.java:25)
>     - waiting to lock <0xaf432670> (a
> org.griphyn.vdl.karajan.WrapperMap)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.closeShallow(VDLFunction.java:516)
>     - locked <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.lib.SetFieldValue.deepCopy(SetFieldValue.java:121)
>     at
> org.griphyn.vdl.karajan.lib.SetFieldValue.function(SetFieldValue.java:49)
>     - locked <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.Argument.post(Argument.java:48)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:71)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)
>     at
> org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)
>     at
> org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)
>     at
> org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)
>     at java.util.concurrent.Executors
> $RunnableAdapter.call(Executors.java:441)
>     at java.util.concurrent.FutureTask
> $Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - <0xaf2805f0> (a java.util.concurrent.locks.ReentrantLock
> $NonfairSync)
> 
> "pool-1-thread-7" prio=10 tid=0x09006800 nid=0x2353 waiting on
> condition [0x9e769000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-6" prio=10 tid=0x09004c00 nid=0x2352 waiting on
> condition [0x9e7ba000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-5" prio=10 tid=0x09002800 nid=0x2351 waiting for
> monitor entry [0x9e80b000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>     at
> org.griphyn.vdl.mapping.AbstractDataNode.addListener(AbstractDataNode.java:575)
>     - waiting to lock <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.DSHandleFutureWrapper.<init>(DSHandleFutureWrapper.java:24)
>     at
> org.griphyn.vdl.karajan.WrapperMap.addNodeListener(WrapperMap.java:61)
>     - locked <0xaf432670> (a org.griphyn.vdl.karajan.WrapperMap)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.addFutureListener(VDLFunction.java:523)
>     at org.griphyn.vdl.karajan.lib.Stagein.function(Stagein.java:88)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)
>     at
> org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)
>     at
> org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)
>     at
> org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)
>     at java.util.concurrent.Executors
> $RunnableAdapter.call(Executors.java:441)
>     at java.util.concurrent.FutureTask
> $Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - <0xaf280d48> (a java.util.concurrent.locks.ReentrantLock
> $NonfairSync)
> 
> "pool-1-thread-4" prio=10 tid=0x08ff3400 nid=0x2350 waiting on
> condition [0x9e85c000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-3" prio=10 tid=0x08ff0800 nid=0x234f waiting on
> condition [0x9e8ad000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-2" prio=10 tid=0x08ede000 nid=0x234e waiting on
> condition [0x9ea98000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "pool-1-thread-1" prio=10 tid=0x08ef4000 nid=0x234d waiting on
> condition [0x9eae9000]
>    java.lang.Thread.State: WAITING (parking)
>     at sun.misc.Unsafe.park(Native Method)
>     - parking to wait for  <0xaf2806e0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
>     at
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
>     at java.util.concurrent.locks.AbstractQueuedSynchronizer
> $ConditionObject.await(AbstractQueuedSynchronizer.java:1987)
>     at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399)
>     at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:907)
>     at java.lang.Thread.run(Thread.java:662)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Hang checker" prio=10 tid=0x08eda400 nid=0x234c waiting for monitor
> entry [0x9e8fe000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>     at org.griphyn.vdl.karajan.Monitor.dumpVariables(Monitor.java:220)
>     - waiting to lock <0xaf432670> (a
> org.griphyn.vdl.karajan.WrapperMap)
>     at org.griphyn.vdl.karajan.HangChecker.run(HangChecker.java:54)
>     at java.util.TimerThread.mainLoop(Timer.java:512)
>     at java.util.TimerThread.run(Timer.java:462)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Low Memory Detector" daemon prio=10 tid=0x9f514800 nid=0x234a
> runnable [0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>     - None
> 
> "CompilerThread1" daemon prio=10 tid=0x9f512c00 nid=0x2349 waiting on
> condition [0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>     - None
> 
> "CompilerThread0" daemon prio=10 tid=0x9f510800 nid=0x2348 waiting on
> condition [0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Signal Dispatcher" daemon prio=10 tid=0x9f50f000 nid=0x2347 runnable
> [0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Finalizer" daemon prio=10 tid=0x9f500800 nid=0x2346 in Object.wait()
> [0x9f260000]
>    java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0xaf4341c0> (a java.lang.ref.ReferenceQueue$Lock)
>     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
>     - locked <0xaf4341c0> (a java.lang.ref.ReferenceQueue$Lock)
>     at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
>     at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "Reference Handler" daemon prio=10 tid=0x089c3800 nid=0x2345 in
> Object.wait() [0x9f2b1000]
>    java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0xaf2803a0> (a java.lang.ref.Reference$Lock)
>     at java.lang.Object.wait(Object.java:485)
>     at java.lang.ref.Reference
> $ReferenceHandler.run(Reference.java:116)
>     - locked <0xaf2803a0> (a java.lang.ref.Reference$Lock)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "main" prio=10 tid=0x08921400 nid=0x233f in Object.wait() [0xb6ad6000]
>    java.lang.Thread.State: WAITING (on object monitor)
>     at java.lang.Object.wait(Native Method)
>     - waiting on <0xaf42fe78> (a
> org.griphyn.vdl.karajan.VDL2ExecutionContext)
>     at java.lang.Object.wait(Object.java:485)
>     at
> org.globus.cog.karajan.workflow.ExecutionContext.waitFor(ExecutionContext.java:226)
>     - locked <0xaf42fe78> (a
> org.griphyn.vdl.karajan.VDL2ExecutionContext)
>     at org.griphyn.vdl.karajan.Loader.main(Loader.java:201)
> 
>    Locked ownable synchronizers:
>     - None
> 
> "VM Thread" prio=10 tid=0x089bfc00 nid=0x2344 runnable 
> 
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x08928800 nid=0x2340
> runnable 
> 
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x08929c00 nid=0x2341
> runnable 
> 
> "GC task thread#2 (ParallelGC)" prio=10 tid=0x0892b400 nid=0x2342
> runnable 
> 
> "GC task thread#3 (ParallelGC)" prio=10 tid=0x0892c800 nid=0x2343
> runnable 
> 
> "VM Periodic Task Thread" prio=10 tid=0x9f51e800 nid=0x234b waiting on
> condition 
> 
> JNI global references: 1370
> 
> 
> Found one Java-level deadlock:
> =============================
> "pool-1-thread-8":
>   waiting to lock monitor 0x09042b08 (object 0xaf432670, a
> org.griphyn.vdl.karajan.WrapperMap),
>   which is held by "pool-1-thread-5"
> "pool-1-thread-5":
>   waiting to lock monitor 0x9f56e630 (object 0xaebee120, a
> org.griphyn.vdl.mapping.RootArrayDataNode),
>   which is held by "pool-1-thread-8"
> 
> Java stack information for the threads listed above:
> ===================================================
> "pool-1-thread-8":
>     at org.griphyn.vdl.karajan.WrapperMap.close(WrapperMap.java:25)
>     - waiting to lock <0xaf432670> (a
> org.griphyn.vdl.karajan.WrapperMap)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.closeShallow(VDLFunction.java:516)
>     - locked <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.lib.SetFieldValue.deepCopy(SetFieldValue.java:121)
>     at
> org.griphyn.vdl.karajan.lib.SetFieldValue.function(SetFieldValue.java:49)
>     - locked <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.Argument.post(Argument.java:48)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:71)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)
>     at
> org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:194)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)
>     at
> org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)
>     at
> org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)
>     at
> org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)
>     at
> org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)
>     at java.util.concurrent.Executors
> $RunnableAdapter.call(Executors.java:441)
>     at java.util.concurrent.FutureTask
> $Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> "pool-1-thread-5":
>     at
> org.griphyn.vdl.mapping.AbstractDataNode.addListener(AbstractDataNode.java:575)
>     - waiting to lock <0xaebee120> (a
> org.griphyn.vdl.mapping.RootArrayDataNode)
>     at
> org.griphyn.vdl.karajan.DSHandleFutureWrapper.<init>(DSHandleFutureWrapper.java:24)
>     at
> org.griphyn.vdl.karajan.WrapperMap.addNodeListener(WrapperMap.java:61)
>     - locked <0xaf432670> (a org.griphyn.vdl.karajan.WrapperMap)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.addFutureListener(VDLFunction.java:523)
>     at org.griphyn.vdl.karajan.lib.Stagein.function(Stagein.java:88)
>     at
> org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:67)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)
>     at
> org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)
>     at
> org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)
>     at
> org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)
>     at
> org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)
>     at
> org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)
>     at java.util.concurrent.Executors
> $RunnableAdapter.call(Executors.java:441)
>     at java.util.concurrent.FutureTask
> $Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.runTask(ThreadPoolExecutor.java:886)
>     at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
> 
> Found 1 deadlock.
> 
> 
> On Fri, Jun 17, 2011 at 3:08 PM, Mihael Hategan <hategan at mcs.anl.gov>
> wrote:
>         On Fri, 2011-06-17 at 15:03 -0500, Michael Wilde wrote:
>         > This would be a great thing to build into the test suite for
>         any test run that the suite is about to cancel for exceeding
>         its max run time: capture the stack trace, so that if its a
>         deadlock, we can do some diagnosis right form the test
>         results.
>         >
>         > Can we add some Swift commands to dump Swifts thread/future
>         status as well?
>         
>         
>         The hang checker already does that, but there is a class of
>         deadlocks
>         that has no open futures.
>         
> 





More information about the Swift-devel mailing list