<div dir="ltr"><div><div>Mihael,<br><br></div>Trying the r7088 arg fix with the same script Yadu tested, I get the following:<br><br>$ swift tmp.swift -foo="helloFOO"<br>Swift trunk swift-r7088 cog-r3789<br>RunID: 20130919-1105-tpzasdg5<br>
<br>Execution failed:<br>Missing argument 'value'<br>    export @ swift-lib.k, line: 45<br><br><br></div>The script is:<br><br>$ cat tmp.swift<br>func() {<br>    string FOO=arg("foo");<br>    string BAR="hello";<br>
    tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>}<br>func();<br><div> <br><br><br></div><div>Thanks,<br></div><div>Ketan<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Sep 19, 2013 at 1:50 AM, Mihael Hategan <span dir="ltr"><<a href="mailto:hategan@mcs.anl.gov" target="_blank">hategan@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Should now be fixed in svn.<br>
<br>
There were two issues. One was that in trunk the value parameter to<br>
arg() was not optional. I changed that back.<br>
<br>
The other was that a missing positional parameter in karajan was not<br>
well detected at run-time. In this case it was picking up stuff that was<br>
left on the stack from other invocations. This should also be fixed.<br>
<br>
This should have been caught by the swift compiler, but it was set to<br>
treat the second parameter to arg() as optional, so it fell through the<br>
cracks.<br>
<br>
Mihael<br>
<div><div class="h5"><br>
<br>
On Wed, 2013-09-18 at 14:03 -0700, Mihael Hategan wrote:<br>
> On Wed, 2013-09-18 at 15:17 -0500, Yadu Nand wrote:<br>
> > Sorry Mihael, I've pasted the error below.<br>
> > Why does the error go away, when the string assignment statements are<br>
> > reversed in order?<br>
><br>
> I assume because there is a string value on the stack frame from the<br>
> previous invocation that the second invocation interprets as being the<br>
> second argument. Or something like that.<br>
><br>
> ><br>
> > swift args_trunk.swift -foo="helloFOO"<br>
> > Swift trunk swift-r7073 (swift modified locally) cog-r3787 (cog modified<br>
> > locally)<br>
> > RunID: 20130918-2014-t0fyb8m1<br>
> > [Error] sites.xml, line 1, col 9: cvc-elt.1: Cannot find the declaration of<br>
> > element 'config'.<br>
> > Progress:  time: Wed, 18 Sep 2013 20:14:29 +0000<br>
> ><br>
> > Execution failed:<br>
> > java.lang.ClassCastException: Invalid type: expected a<br>
> > org.griphyn.vdl.mapping.AbstractDataNode but got a<br>
> > org.globus.cog.karajan.analyzer.InvalidArgChannel<br>
> >     swiftscript:arg @ args_trunk, line: 22<br>
> > Caused by: java.lang.ClassCastException: Invalid type: expected a<br>
> > org.griphyn.vdl.mapping.AbstractDataNode but got a<br>
> > org.globus.cog.karajan.analyzer.InvalidArgChannel<br>
> >     at org.griphyn.vdl.karajan.lib.swiftscript.FnArg.function(FnArg.java:63)<br>
> >     at<br>
> > org.griphyn.vdl.karajan.lib.SwiftFunction.runBody(SwiftFunction.java:108)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:154)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:147)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.UParallel$1.run(UParallel.java:68)<br>
> >     at k.thr.LWThread.run(LWThread.java:228)<br>
> >     at<br>
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
> >     at<br>
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>
> >     at java.lang.Thread.run(Thread.java:722)<br>
> ><br>
> > -Yadu<br>
> ><br>
> ><br>
> ><br>
> > On Wed, Sep 18, 2013 at 3:11 PM, Mihael Hategan <<a href="mailto:hategan@mcs.anl.gov">hategan@mcs.anl.gov</a>> wrote:<br>
> ><br>
> > > Ok, the error is due to the optional value missing. There's shouldn't be<br>
> > > an error to begin with, but a temporary workaround is:<br>
> > ><br>
> > > string FOO = arg("foo", "defaultValue")<br>
> > ><br>
> > > On Wed, 2013-09-18 at 14:44 -0500, Yadu Nand wrote:<br>
> > > > Ketan reported a script failing for him on trunk alone and this is the<br>
> > > > condensed<br>
> > > > form of his script that fails consistently on trunk:<br>
> > > ><br>
> > > > func() {<br>
> > > >     string FOO=arg("foo");<br>
> > > >     string BAR="hello";<br>
> > > >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> > > > }<br>
> > > > func();<br>
> > > ><br>
> > > > This script does pass on 0.94RC3, but not on Trunk. Could someone confirm<br>
> > > > if this<br>
> > > > is valid syntax ?<br>
> > > ><br>
> > > > Reversing the order of the assignments to the following, gets the test to<br>
> > > > pass:<br>
> > > ><br>
> > > > func() {<br>
> > > >     string BAR="hello";<br>
> > > >     string FOO=arg("foo");<br>
> > > >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> > > > }<br>
> > > > func();<br>
> > > ><br>
> > > ><br>
> > > > ​Thanks,​<br>
> > > ><br>
> > > > Yadu<br>
> > > > Ketan reported a script failing for him on trunk alone and this is the<br>
> > > > condensed<br>
> > > ><br>
> > > > form of his script that fails consistently on trunk:<br>
> > > ><br>
> > > > func() {<br>
> > > >     string FOO=arg("foo");<br>
> > > >     string BAR="hello";<br>
> > > >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> > > > }<br>
> > > > func();<br>
> > > ><br>
> > > ><br>
> > > > This script does pass on 0.94RC3, but not on Trunk. Could someone<br>
> > > > confirm if this<br>
> > > ><br>
> > > > is valid syntax ?<br>
> > > ><br>
> > > ><br>
> > > > Reversing the order of the assignments to the following, gets the test<br>
> > > > to pass:<br>
> > > ><br>
> > > > func() {<br>
> > > >     string BAR="hello";<br>
> > > >     string FOO=arg("foo");<br>
> > > >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> > > > }<br>
> > > > func();<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > > ​Thanks,​<br>
> > > ><br>
> > > > Yadu<br>
> > > > _______________________________________________<br>
> > > > Swift-devel mailing list<br>
> > > > <a href="mailto:Swift-devel@ci.uchicago.edu">Swift-devel@ci.uchicago.edu</a><br>
> > > > <a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel</a><br>
> > ><br>
> > ><br>
> > ><br>
> ><br>
> ><br>
> > Sorry Mihael, I've pasted the error below.<br>
> ><br>
> > Why does the error go away, when the string assignment statements are<br>
> > reversed in order?<br>
> ><br>
> ><br>
> > swift args_trunk.swift -foo="helloFOO"<br>
> > Swift trunk swift-r7073 (swift modified locally) cog-r3787 (cog<br>
> > modified locally)<br>
> > RunID: 20130918-2014-t0fyb8m1<br>
> > [Error] sites.xml, line 1, col 9: cvc-elt.1: Cannot find the<br>
> > declaration of element 'config'.<br>
> > Progress:  time: Wed, 18 Sep 2013 20:14:29 +0000<br>
> ><br>
> > Execution failed:<br>
> > java.lang.ClassCastException: Invalid type: expected a<br>
> > org.griphyn.vdl.mapping.AbstractDataNode but got a<br>
> > org.globus.cog.karajan.analyzer.InvalidArgChannel<br>
> >     swiftscript:arg @ args_trunk, line: 22<br>
> > Caused by: java.lang.ClassCastException: Invalid type: expected a<br>
> > org.griphyn.vdl.mapping.AbstractDataNode but got a<br>
> > org.globus.cog.karajan.analyzer.InvalidArgChannel<br>
> >     at<br>
> > org.griphyn.vdl.karajan.lib.swiftscript.FnArg.function(FnArg.java:63)<br>
> >     at<br>
> > org.griphyn.vdl.karajan.lib.SwiftFunction.runBody(SwiftFunction.java:108)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:154)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.InternalFunction.run(InternalFunction.java:147)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.Sequential.run(Sequential.java:22)<br>
> >     at<br>
> > org.globus.cog.karajan.compiled.nodes.CompoundNode.runChild(CompoundNode.java:87)<br>
> >     at org.globus.cog.karajan.compiled.nodes.UParallel<br>
> > $1.run(UParallel.java:68)<br>
> >     at k.thr.LWThread.run(LWThread.java:228)<br>
> >     at<br>
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
> >     at java.util.concurrent.ThreadPoolExecutor<br>
> > $Worker.run(ThreadPoolExecutor.java:615)<br>
> >     at java.lang.Thread.run(Thread.java:722)<br>
> ><br>
> ><br>
> > -Yadu<br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > On Wed, Sep 18, 2013 at 3:11 PM, Mihael Hategan <<a href="mailto:hategan@mcs.anl.gov">hategan@mcs.anl.gov</a>><br>
> > wrote:<br>
> >         Ok, the error is due to the optional value missing. There's<br>
> >         shouldn't be<br>
> >         an error to begin with, but a temporary workaround is:<br>
> ><br>
> >         string FOO = arg("foo", "defaultValue")<br>
> ><br>
> >         On Wed, 2013-09-18 at 14:44 -0500, Yadu Nand wrote:<br>
> ><br>
> >         > Ketan reported a script failing for him on trunk alone and<br>
> >         this is the<br>
> >         > condensed<br>
> >         > form of his script that fails consistently on trunk:<br>
> >         ><br>
> >         > func() {<br>
> >         >     string FOO=arg("foo");<br>
> >         >     string BAR="hello";<br>
> >         >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> >         > }<br>
> >         > func();<br>
> >         ><br>
> >         > This script does pass on 0.94RC3, but not on Trunk. Could<br>
> >         someone confirm<br>
> >         > if this<br>
> >         > is valid syntax ?<br>
> >         ><br>
> >         > Reversing the order of the assignments to the following,<br>
> >         gets the test to<br>
> >         > pass:<br>
> >         ><br>
> >         > func() {<br>
> >         >     string BAR="hello";<br>
> >         >     string FOO=arg("foo");<br>
> >         >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> >         > }<br>
> >         > func();<br>
> >         ><br>
> >         ><br>
> >         > ​Thanks,​<br>
> >         ><br>
> >         > Yadu<br>
> ><br>
> >         > Ketan reported a script failing for him on trunk alone and<br>
> >         this is the<br>
> >         > condensed<br>
> >         ><br>
> >         > form of his script that fails consistently on trunk:<br>
> >         ><br>
> >         > func() {<br>
> >         >     string FOO=arg("foo");<br>
> >         >     string BAR="hello";<br>
> >         >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> >         > }<br>
> >         > func();<br>
> >         ><br>
> >         ><br>
> >         > This script does pass on 0.94RC3, but not on Trunk. Could<br>
> >         someone<br>
> >         > confirm if this<br>
> >         ><br>
> >         > is valid syntax ?<br>
> >         ><br>
> >         ><br>
> >         > Reversing the order of the assignments to the following,<br>
> >         gets the test<br>
> >         > to pass:<br>
> >         ><br>
> >         > func() {<br>
> >         >     string BAR="hello";<br>
> >         >     string FOO=arg("foo");<br>
> >         >     tracef("FOO : %s  | BAR : %s\n", FOO, BAR);<br>
> >         > }<br>
> >         > func();<br>
> >         ><br>
> >         ><br>
> >         ><br>
> >         ><br>
> >         > ​Thanks,​<br>
> >         ><br>
> >         > Yadu<br>
> >         > _______________________________________________<br>
> >         > Swift-devel mailing list<br>
> >         > <a href="mailto:Swift-devel@ci.uchicago.edu">Swift-devel@ci.uchicago.edu</a><br>
> >         ><br>
> >         <a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel</a><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > Yadu Nand B<br>
> ><br>
> ><br>
><br>
><br>
> _______________________________________________<br>
> Swift-devel mailing list<br>
> <a href="mailto:Swift-devel@ci.uchicago.edu">Swift-devel@ci.uchicago.edu</a><br>
> <a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel</a><br>
<br>
<br>
</div></div>_______________________________________________<br>
Swift-devel mailing list<br>
<a href="mailto:Swift-devel@ci.uchicago.edu">Swift-devel@ci.uchicago.edu</a><br>
<a href="https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel" target="_blank">https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><font face="'courier new', monospace">Ketan</font><br><br>
</div>