Hi All,<br> 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. <a href="https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=257">https://bugzilla.mcs.anl.gov/swift/show_bug.cgi?id=257</a><br>
<br>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/<br><br>Cheers,<br>Tim<br><br><br>Found one Java-level deadlock:<br>
=============================<br>"pool-1-thread-7":<br> waiting to lock monitor 0x00007f8a1cc49450 (object 0x00007f8a2e3d7288, a org.griphyn.vdl.karajan.DSHandleFutureWrapper),<br> which is held by "pool-1-thread-1"<br>
"pool-1-thread-1":<br> waiting to lock monitor 0x00007f8a186c72e0 (object 0x00007f8a2e20d0a0, a org.griphyn.vdl.mapping.RootDataNode),<br> which is held by "pool-1-thread-7"<br><br>Java stack information for the threads listed above:<br>
===================================================<br>"pool-1-thread-7":<br> at org.griphyn.vdl.karajan.DSHandleFutureWrapper.notifyListeners(DSHandleFutureWrapper.java:65)<br> - waiting to lock <0x00007f8a2e3d7288> (a org.griphyn.vdl.karajan.DSHandleFutureWrapper)<br>
at org.griphyn.vdl.karajan.DSHandleFutureWrapper.handleClosed(DSHandleFutureWrapper.java:116)<br> at org.griphyn.vdl.mapping.AbstractDataNode.notifyListeners(AbstractDataNode.java:583)<br> - locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)<br>
at org.griphyn.vdl.mapping.AbstractDataNode.closeShallow(AbstractDataNode.java:396)<br> - locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)<br> at org.griphyn.vdl.mapping.AbstractDataNode.setValue(AbstractDataNode.java:346)<br>
at org.griphyn.vdl.mapping.RootDataNode.setValue(RootDataNode.java:218)<br> at org.griphyn.vdl.karajan.lib.SetFieldValue.deepCopy(SetFieldValue.java:88)<br> at org.griphyn.vdl.karajan.lib.SetFieldValue.function(SetFieldValue.java:50)<br>
- locked <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)<br> at org.griphyn.vdl.karajan.lib.VDLFunction.post(VDLFunction.java:68)<br> at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:196)<br>
at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)<br> at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)<br> at org.globus.cog.karajan.workflow.nodes.functions.Argument.post(Argument.java:48)<br>
at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:196)<br> at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)<br> at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)<br>
at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)<br> at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:196)<br>
at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)<br> at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)<br> at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)<br>
at org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)<br> at org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)<br> at org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)<br>
at org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)<br> at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)<br> at org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)<br>
at org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)<br> at org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)<br> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)<br>
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)<br> at java.util.concurrent.FutureTask.run(FutureTask.java:138)<br> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br>
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br> at java.lang.Thread.run(Thread.java:619)<br>"pool-1-thread-1":<br> at org.griphyn.vdl.karajan.lib.SwiftArg.unwrap(SwiftArg.java:52)<br>
- waiting to lock <0x00007f8a2e20d0a0> (a org.griphyn.vdl.mapping.RootDataNode)<br> at org.griphyn.vdl.karajan.lib.SwiftArg$Vargs.asArray(SwiftArg.java:177)<br> at org.griphyn.vdl.karajan.lib.swiftscript.Misc.swiftscript_strcat(Misc.java:77)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br> at org.globus.cog.karajan.workflow.nodes.functions.FunctionsCollection.function(FunctionsCollection.java:82)<br> at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:27)<br>
at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.futureModified(AbstractSequentialWithArguments.java:210)<br> at org.griphyn.vdl.karajan.DSHandleFutureWrapper.notifyListeners(DSHandleFutureWrapper.java:71)<br>
- locked <0x00007f8a2e3d7288> (a org.griphyn.vdl.karajan.DSHandleFutureWrapper)<br> at org.griphyn.vdl.karajan.DSHandleFutureWrapper.addModificationAction(DSHandleFutureWrapper.java:60)<br> - locked <0x00007f8a2e3d7288> (a org.griphyn.vdl.karajan.DSHandleFutureWrapper)<br>
at org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments.completed(AbstractSequentialWithArguments.java:199)<br> at org.globus.cog.karajan.workflow.nodes.FlowNode.complete(FlowNode.java:214)<br> at org.globus.cog.karajan.workflow.nodes.FlowContainer.post(FlowContainer.java:58)<br>
at org.globus.cog.karajan.workflow.nodes.functions.AbstractFunction.post(AbstractFunction.java:28)<br> at org.globus.cog.karajan.workflow.nodes.Sequential.startNext(Sequential.java:29)<br> at org.globus.cog.karajan.workflow.nodes.Sequential.executeChildren(Sequential.java:20)<br>
at org.globus.cog.karajan.workflow.nodes.FlowContainer.execute(FlowContainer.java:63)<br> at org.globus.cog.karajan.workflow.nodes.FlowNode.restart(FlowNode.java:139)<br> at org.globus.cog.karajan.workflow.nodes.FlowNode.start(FlowNode.java:197)<br>
at org.globus.cog.karajan.workflow.FlowElementWrapper.start(FlowElementWrapper.java:227)<br> at org.globus.cog.karajan.workflow.events.EventBus.start(EventBus.java:104)<br> at org.globus.cog.karajan.workflow.events.EventTargetPair.run(EventTargetPair.java:40)<br>
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)<br> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)<br> at java.util.concurrent.FutureTask.run(FutureTask.java:138)<br>
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)<br> at java.lang.Thread.run(Thread.java:619)<br>
<br>Found 1 deadlock.<br><br>