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
>
>
>