An upgrade breaks input redirection
Pete Wyckoff
pw at osc.edu
Wed Jul 14 16:10:05 EDT 2004
bill at Princeton.EDU wrote on Tue, 13 Jul 2004 15:49 -0400:
> Upgrade of a cluster to Intel v8 compilers has now broken input
> redirection which was functioning with a patched version of
> OpennPBS_2_3_16 and mpiexec-0.73 running under a Linux 2.4.20-18.7smp
> kernel.
[..]
> When run with mpiexec the error file looks like this:
> forrtl: Illegal seek
> forrtl: severe (39): error during read, unit 5, file stdin
> Image PC Routine Line Source
>
> a.out 08087C75 Unknown Unknown Unknown
> a.out 08058DF1 Unknown Unknown Unknown
> a.out 080593E8 Unknown Unknown Unknown
> a.out 0804CFA0 Unknown Unknown Unknown
> a.out 08049DA7 Unknown Unknown Unknown
> a.out 08049F94 Unknown Unknown Unknown
> a.out 42017589 Unknown Unknown Unknown
> a.out 08049C31 Unknown Unknown Unknown
> mpiexec: Warning: task 0 exited with status 39.
>
>
> But when run with ./a.out <inp all seems well. The a.out exec was
> compiled with the mpif90 command. I don't know who is at fault here,
> the compiler or mpiexec. I have been told that old programs continue to
> work, even with the newly compiled mpiexec, but once recompiled with the
> v8 Intel compilers, all redirection breaks.
I can't figure out why a compiler upgrade would change behavior.
For what it's worth, we're using an early release of the 8.0 compilers,
20031231, and your test case continues to work fine here.
You can do "mpiexec strace ./a.out < inp" to see if you can catch it
doing a seek on the input stream (0). That does not seem to happen
here, just some ioctls then reads.
Under the hood, what happens is the pbs_mom reads an environment
variable set up by mpiexec during the launch of a.out vi tm_spawn().
This envvar is a port number to which the mom connects the file
descriptor 0 of the to-be-spawned process. The input is thus read
through a socket, not directly connected to a file, but that's how
it has been for years now with mpiexec and PBS.
Let me know if you get any more information on what's going on here.
-- Pete
More information about the mpiexec
mailing list