[Swift-devel] Deadlock with current Swift trunk
Tim Armstrong
tim.g.armstrong at gmail.com
Mon Mar 7 14:24:22 CST 2011
Hi All,
I just wanted to send an email to the list to draw attention to a bug
report I posted on the bugzilla. I spent some time today to get some
additional information on the issue and have confirmed that the problem is a
Java thread deadlock.
https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=257
Unfortunately this bug seems to be triggered quite frequently by the script
used by SwiftR, so this is forcing us to use the pre-fast branch Swift
trunk/
Cheers,
Tim
Found one Java-level deadlock:
=============================
"pool-1-thread-7":
waiting to lock monitor 0x00007f8a1cc49450 (object 0x00007f8a2e3d7288, a
org.griphyn.vdl.karajan.DSHandleFutureWrapper),
which is held by "pool-1-thread-1"
"pool-1-thread-1":
waiting to lock monitor 0x00007f8a186c72e0 (object 0x00007f8a2e20d0a0, a
org.griphyn.vdl.mapping.RootDataNode),
which is held by "pool-1-thread-7"
Java stack information for the threads listed above:
===================================================
"pool-1-thread-7":
at
org.griphyn.vdl.karajan.DSHandleFutureWrapper.notifyListeners(DSHandleFutureWrapper.java:65)
- waiting to lock <0x00007f8a2e3d7288> (a
org.griphyn.vdl.karajan.DSHandleFutureWrapper)
at
org.griphyn.vdl.karajan.DSHandleFutureWrapper.handleClosed(DSHandleFutureWrapper.java:116)
at
org.griphyn.vdl.mapping.AbstractDataNode.notifyListeners(AbstractDataNode.java:583)
- locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)
at
org.griphyn.vdl.mapping.AbstractDataNode.closeShallow(AbstractDataNode.java:396)
- locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)
at
org.griphyn.vdl.mapping.AbstractDataNode.setValue(AbstractDataNode.java:346)
at org.griphyn.vdl.mapping.RootDataNode.setValue(RootDataNode.java:218)
at
org.griphyn.vdl.karajan.lib.SetFieldValue.deepCopy(SetFieldValue.java:88)
at
org.griphyn.vdl.karajan.lib.SetFieldValue.function(SetFieldValue.java:50)
- locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)
at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:68)
at
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:196)
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:196)
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:196)
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:619)
"pool-1-thread-1":
at org.griphyn.vdl.karajan.lib.SwiftArg.unwrap(SwiftArg.java:52)
- waiting to lock <0x00007f8a2e20d0a0> (a
org.griphyn.vdl.mapping.RootDataNode)
at org.griphyn.vdl.karajan.lib.SwiftArg$Vargs.asArray(SwiftArg.java:177)
at
org.griphyn.vdl.karajan.lib.swiftscript.Misc.swiftscript_strcat(Misc.java:77)
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:597)
at
org.globus.cog.karajan.workflow.nodes.functions.FunctionsCollection.function(FunctionsCollection.java:82)
at
org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:27)
at
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.futureModified(AbstractSequentialWithArguments.java:210)
at
org.griphyn.vdl.karajan.DSHandleFutureWrapper.notifyListeners(DSHandleFutureWrapper.java:71)
- locked <0x00007f8a2e3d7288> (a
org.griphyn.vdl.karajan.DSHandleFutureWrapper)
at
org.griphyn.vdl.karajan.DSHandleFutureWrapper.addModificationAction(DSHandleFutureWrapper.java:60)
- locked <0x00007f8a2e3d7288> (a
org.griphyn.vdl.karajan.DSHandleFutureWrapper)
at
org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:199)
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:619)
Found 1 deadlock.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/swift-devel/attachments/20110307/6ce48001/attachment.html>
More information about the Swift-devel
mailing list