[Swift-devel] Deadlock with current Swift trunk
Mihael Hategan
hategan at mcs.anl.gov
Mon Mar 7 15:14:30 CST 2011
Yes. I saw it. I'll try to fix it as soon as I can. Thanks for the
report.
Mihael
On Mon, 2011-03-07 at 14:24 -0600, Tim Armstrong wrote:
> 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.
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel
More information about the Swift-devel
mailing list