-
Notifications
You must be signed in to change notification settings - Fork 845
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mpirun 5.0.3 has bug on parse shell args while 4.1.6 works well. #12623
Comments
FWIW, the cmd line parser is fine. The problem is that the shell removes your quotes when passing the cmd line into I'm experimenting with adding the quotes again to see what problems (if any) it creates. IIRC, there were times when the quotes raised issues, but perhaps my memory has faded. |
But anyway, the raw command output must be the golden baseline. Any command runner, imo, should get the same output when with or without the wrap of runner.
Message ID: ***@***.***>
|
Well, that's an opinion and may be a fair one - but still just one opinion. My point was only that this has nothing to do with the cmd parser - it is accurately parsing what the shell gave us. The cmd
The problem is that $ echo 1 2 3
1 2 3 So in that sense, To get your behavior, I have to do: $ echo '1 2 3'
1 2 3 which is not what the shell gave us. The questions therefore are: should we always assume quotes for all argv strings, and what issues does that create? Or is there another way one could format your cmd line so that the shell actually gives the quotes to |
Fiddling around a bit, I can get We probably need to look more closely at what v4.1 is doing - could be you are just getting lucky over there. This increasingly feels like you may not have the right quoting around your cmd line elements. |
my 0.02US$ no Open MPI involved:
With Open MPI 4.1.6
With Open MPI main
I note that However, with the main branch, |
@rhc54 from
what is the rationale for stripping quoted arguments? also, |
We've had problems in the past with quoted values as arguments to params - e.g., MCA params. However, I have no problem with just telling people in those scenarios to fix their cmd line. As I said above, it isn't clear to me that there is a perfect answer here. Whether it is
Last I checked, we always assume
If that isn't true, then there are a lot of places in PMIx, PRRTE, and OMPI that are impacted...and have been for 20+ years. 😄 |
See openpmix/openpmix#3353 and openpmix/prrte#1984. As I said, we'll try it this way for now and see what problems we encounter. |
That's embarrassing, but this is something I have been ignoring for the past 20+ years, and every single time I wrote a parser I wished I could simply pass Thanks for the pointer! |
@rhc54 Thanks for the quick fix. It would be great if we can get new prrte 3.0.x and pmix 5.0.x releases in the 1st week of July - we plan to release ompi 5.0.4 in the week following. |
I can do that, but first I'd need to see updates in OMPI so I can check MTT. Otherwise, I can't tell if the release branches are in a "good" state. Can someone "pull" the branches? |
Thank you for taking the time to submit an issue!
Background information
What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)
5.0.3
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
from source tarball: https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.3.tar.gz
Please describe the system on which you are running
Details of the problem
mpirun 5.0.3 has bug when parse command line args. But mpirun 4.1.6 works well.
The command is
bash -c '"$@"' '' echo '1 2 3'
. It should output1 2 3
with three spaces between each numbers.The text was updated successfully, but these errors were encountered: