[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Condor job not executing



On 2/16/06, Sameer Bahl <sameer.bahl@xxxxxxxxx> wrote:
> Hi,
>
> I have a windows executable which requires the pathname of the database
> directory as an argument to run and produces a text file as the output.
>
> For eg the command required to run it on windows is as follows:
>
>  Y:\Simtest>SIAEC-Model-V50.exe y:\Simtest
>
> The directory Simtest contains all the input files required for the
> executable.
>
> I am trying to run this on a condor pool with the following submit file;

I'm afraid you have some errors/misunderstandings about how the submit
file arguments are set and how condor works on windows...

> environment = path=y:\Simtest

y:\ will almost certainly not exist to the low permissions user condor
uses on the executing machines. If you need network usage from the
execution client you have to open things up yourself (with explicit
users names and passwords for example)

> transfer_input_files = y:\Simtest\ProModel Airport Information.xls,
> y:\Simtest\ProModel Airport Location GMT.xls, y:\Simtest\ProModel Component
> Optimal Balance.xls ,y:\Simtest\ProModel Flights.xls, y:\Simtest\ProModel
> Input Parameters Ground Movements.xls, y:\Simtest\ProModel Input
> Parameters.xls, y:\Simtest\ProModel Model Configurations.xls,
> y:\Simtest\ProModel Scenarios.xls ,y:\Simtest\ProModel Service Schedule.xls

This should work just fine in terms of transferring the files since
the submission process is running as you from your submitting machine
hence it has access to your y: share.

> executable = y:\Simtest\SIAEC-Model-V50.exe

Again this is fine (though to be honest you don't need to bother
copying them to y: if they already exist on your local machine.

> error = y:\Simtest\test.err

this is wrong - you should simply state the *name* of the file to
write the err/out to and condor will deal with copying it back to your
submission machine. you really should be specifying the output file
too

e.g.
error = test.err
output = test.out

> log = y:\Simtest\test.log

Technically this should be ok  but again I would say that, on windows
you should always try to write this log to a disk local to the submit
machine in case of a network glitch.

> Arguments = y:\Simtest

again y:\ will probably not exist and there is no reason to do this
since the data will have been transferred to the execute machine.

I would suggest that if your executable is insufficiently intelligent
to use . as an argument (there should be no need to wrap it in ""
quotes by the way) indicating the local directory then you will need
to wrap your job in in a bat script which simply works out the full
path for . by something like  'cd' on its own.

> Since the executable requires more than one input file I am specifying them
> with the transfer_input_files attribute. I do not know if this is the
> correct way to do it.

yes it is.

> all the machines in the condor pool have access to the
> y:\ which contains these input files.

the *machines* might. I seriously doubt that the executing users do...

> The executable does not produce any output and stops after running for a
> little while.

you haven't told condor to capture the output - I suggest you do...

> the log file gives me the following error.

> 001 (080.000.000) 02/16 15:19:55 Job executing on host: <
> 155.69.148.41:3222>
> ...
> 005 (080.000.000) 02/16 15:20:01 Job terminated.
>       (0) Abnormal termination (signal -1073741819)
>       (0) No core file

your executable exited with exit code -1073741819. condor is simply
telling you that.

> I am concerned about the followinf things:
>
> 1. how to specify more than one input file in the submit file.

should be fine

> 2. how to specify the pathname of the directory which contains the input
> files as an argument

1st try not using "." and just use . instead.
If that doesn't work use a batch file wrapper.

But before all that add

output = test.out

and see what is getting put in there

Matt