[Swift-devel] Problem calling atomic procedure with multiple args via Falkon
Michael Wilde
wilde at mcs.anl.gov
Sun Apr 6 20:20:27 CDT 2008
I'm debugging a problem where I changed an atomic proc from one input
arg to two.
Im using the patched wrapper.sh (Ben's 3 patches to run in /tmp).
Seems to work for local execution.
With Falkon execution on BGP Im getting this error:
bg$ cat ./status/h/dockwrap1-hpaczuqi-error
Missing -of argument
It looks like Falkon is getting the following command from swift and
sending it to its bgp worker:
Sent task to worker 172.16.3.12:33161: 426
urn:0-1-1-1207529458407#/bin/bash#shared/wrapper.sh dockwrap1-hpaczuqi
-jobdir h -e /home/wilde/dock/bin/dockwrap1.cn -out stdout.txt -err
stderr.txt -i -d mol-1M/8269 -if
mol-1M/8269/058269.in|mol-1M/8269/058269.mol2 -of mol-1M/8269/058269.out
-k -a /home/wilde/dock/DOCK5_bgp_ram.tgz dock_bgp_login
mol-1M/8269/058269.in mol-1M/8269/058269.mol2 mol-1M/8269/058269.out #
#/home/wilde/swiftwork/dock2-20080406-1950-krt29l04#
The problem seems to stem from this arg:
-if mol-1M/8269/058269.in|mol-1M/8269/058269.mol2
The value after the -if arg needs to be in quotes to shield it from the
shell, as falkon takes the string and involves wrapper.sh using
system(). The IFS char "|" is causing the cmd to end there.
Its not clear if the arg is not quoted because in other providers its
somehow shielded from shell evaluation, or if Falkon or the deef
provider is pulling off the quotes.
Can anyone spot where the problem is?
More information about the Swift-devel
mailing list