[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