[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