Hi Martin,
Thanks for the quick response. I have to apologize; the globus-job-
manager-script didn't fail in the block I indicated (diagnosis error
on my part); it actually failed the condition
if (defined($job_description) && defined($job_description->logfile()))
I managed to grab the gram_job_*.tmp file from one submission before
it got deleted; here are the contents:
$description = {
directory => [ '/Users/kocolosk' ],
condoros => [ 'LINUX' ],
xmlextensions => [ '1' ],
useforkstarter => [ '1' ],
condorarch => [ 'INTEL' ],
stderr => [ '/dev/null' ],
environment => [ [ 'GLOBUS_LOCATION', '/usr/local/
globus-4.0.5/' ], [ 'X509_CERT_DIR', '/etc/grid-security/
certificates' ], [ 'X509_USER_PROXY', '' ], [ 'X509_USER_CERT', '' ],
[ 'X509_USER_KEY', ''
], [ 'HOME', '/Users/kocolosk' ], [ 'LOGNAME', 'kocolosk' ],
[ 'SCRATCH_DIRECTORY', '/Users/kocolosk/.globus/scratch' ],
[ 'JAVA_HOME', '/System/Library/Frameworks/JavaVM.framework/Versions/
1.5.0/Home' ]
, [ 'GLOBUS_GRAM_JOB_HANDLE', 'https://***.***.***.***:8443/wsrf/
services/ManagedExecutableJobService?56a6d7f0-3fa9-11dc-b899-
eff3df4eaa69' ], ],
executable => [ '/usr/bin/cal' ],
factoryendpoint => [ 'Address: https://localhost:8443/wsrf/
services/ManagedJobFactoryService
Reference property[0]:
<ns5:ResourceID ns04:type="ns05:string" xmlns:ns04="http://www.w3.org/
2001/XMLSchema-instance" xmlns:ns05="http://www.w3.org/2001/
XMLSchema" xmlns:ns5="http://www.globus.org/namespaces/2004/10/gram/
job">
Fork</ns5:ResourceID>
' ],
stdin => [ '/dev/null' ],
expandglobushome => [ '1' ],
jobdir => [ '/Users/kocolosk/.globus/56a6d7f0-3fa9-11dc-b899-
eff3df4eaa69' ],
jobtype => [ 'multiple' ],
stdout => [ '/dev/null' ],
expandglobuslocation => [ '1' ],
count => [ '1' ],
useforkstarter => [ '1' ],
};
Again, sorry for the earlier misdirection. Regards, Adam
On Jul 31, 2007, at 6:30 PM, [EMAIL PROTECTED] wrote:
Adam,
can you figure out which one of the three conditions fail?
Please try something like this:
if(!defined($manager_name)) {
system("/bin/touch /tmp/manager_name_undefined");
&fail(Globus::GRAM::Error::BAD_SCRIPT_ARG_FILE);
} elsif (!defined($argument_file)) {
system("/bin/touch /tmp/argument_file_undefined");
&fail(Globus::GRAM::Error::BAD_SCRIPT_ARG_FILE);
} elsif (!defined($command)) {
system("/bin/touch /tmp/command_undefined");
&fail(Globus::GRAM::Error::BAD_SCRIPT_ARG_FILE);
}
(adapt the path to touch if necessary)
and check which file got created in /tmp
Thanks, Martin
Hi all,
I seem to be having the same problem that Masato reported two weeks
ago on this mailing list:
http://www.globus.org/mail_archive/gt-user/2007/07/msg00105.html
A simple test job with the fork jobmanager fails with the following
message:
globusrun-ws -submit -c /bin/date
Submitting job...Done.
Job ID: uuid:6990a1f2-3fae-11dc-9c9b-001451685a74
Termination time: 08/01/2007 21:38 GMT
Current job state: Failed
Destroying job...Done.
globusrun-ws: Job failed: Internal fault occurred while running the
submit script.
The globus-job-manager-script.pl script received a bad argument.
Check for the existance of the appropriate resource manager adapter
Perl module
in the ${GLOBUS_LOCATION}/lib/perl/Globus/GRAM/JobManager/
directory.
Turning on GRAM debugging reveals the following messages in the
container.log:
2007-07-31 17:38:45,743 DEBUG exec.JobManagerScript [Thread-13,run:
208] Executing command:
/usr/bin/sudo -H -u kocolosk -S /usr/local/globus-4.0.5/libexec/
globus-gridmap-and-execute -g /etc/grid-security/grid-mapfile /usr/
local/globus-4.0.5/libexec/globus-job-manager-script.pl -m fork -f /
usr/local/globus-4.0.5/tmp/gram_job_mgr61596.tmp -c submit
2007-07-31 17:38:46,379 DEBUG exec.JobManagerScript [Thread-13,run:
225] first line: GRAM_SCRIPT_ERROR:21
I can edit the globus-job-manager-script.pl and I find that it fails
at line 47 (the same place as Masato reported):
if((!defined($manager_name)) ||
(!defined($argument_file)) ||
(!defined($command)))
{
&fail(Globus::GRAM::Error::BAD_SCRIPT_ARG_FILE);
}
Martin's comment that
The DN of the submitting user should be mapped to a different local
user id than the user who runs the container. In this case the
container uses sudo to submit the job.
applies here; the container is owned by "globus" and as you can see
sudo was used to submit the job as "kocolosk". Running the Perl
script by hand appears to succeed; I get GRAM_SCRIPT_JOB_STATE:2
returned along with a UUID
I apologize for starting a new thread (new subscriber), but hopefully
we can get to the bottom of this. Regards,
Adam
--------
Adam Kocoloski
Dept. of Physics, MIT
26-402E
617.258.5437