[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