Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] pipe function call failed...
From: Lasse Kliemann (lasse-list-openmpi-2010_at_[hidden])
Date: 2010-03-09 21:26:34


Thanks for your help, Ralph.

--disable-pty-support indeed makes the problem go away.

The system is self-made and non-standard. I have in my kernel
config:

CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set

Maybe legacy PTYs are required?

Moreover, the system uses UDEV (version 151). I presume that PTYs
are in use: a directory /dev/pts/ exists and is populated with
devices. When I do ps, it gives something like pts/1 as TTY.

* Message by -Ralph Castain- from Tue 2010-03-09:
> Okay, I dug thru the glibc 2.11 manual - there doesn't appear
> to be any problem here in the code itself.
>
> The problem instead, I believe, is caused by your system not
> supporting pty's, yet you are trying to use them. In this case,
> tcgetattr will return errno 22 because the file descriptor is
> not pointing to a correct terminal.
>
> Try configuring with --disable-pty-support and see if that
> fixes the problem.
>
> BTW: what system are you running this on?
>
> On Mar 9, 2010, at 4:34 PM, Lasse Kliemann wrote:
>
> > Alas, I am by far no Glibc expert. I did a grep through the Glibc
> > changelog, but only found a reference to tcgetattr from 2006.
> >
> > Of course, I would also like to see a real solution here instead
> > of ignoring the error condition.
> >
> > * Message by -Ralph Castain- from Tue 2010-03-09:
> >> Ignoring an error doesn't seem like a good idea. The real
> >> question is why we are getting that error - it sounds like the
> >> newest Glibc release has changed the API?? Can you send us the
> >> revised one so we can put in a test and use the correct API for
> >> the installed version?
> >>
> >>
> >> On Mar 9, 2010, at 9:40 AM, Lasse Kliemann wrote:
> >>
> >>> $ mpirun -n 1 ls
> >>> --------------------------------------------------------------------------
> >>> mpirun was unable to launch the specified application as it encountered an error:
> >>>
> >>> Error: pipe function call failed when setting up I/O forwarding subsystem
> >>> Node: xxxxx.xxxxxxxxxx.xxxxxxxx.xx
> >>>
> >>> while attempting to start process rank 0.
> >>> --------------------------------------------------------------------------
> >>>
> >>> I receive this error constantly. I tracked it down so far that it
> >>> appears now certain that the 'tcgetattr' and 'tcsetattr' calls in
> >>> 'orte/mca/iof/base/iof_base_setup.c' are responsible. 'errno' is
> >>> set to 22 each, which means 'invalid argument'. We can simply
> >>> ignore the return values of these calls and continue, as done in
> >>> the attached patch. Some simple tests suggest that everything
> >>> else is fine, but I haven't tested thoroughly yet.
> >>>
> >>> On another system, this problem is absent. The main difference
> >>> are GCC and Glibc versions. The problematic system uses GCC 4.3.4
> >>> and Glibc 2.11.1 -- which is the newest Glibc release and maybe
> >>> untested yet with OpenMPI.
> >>>
> >>> Let me know which additional information I can provide to further
> >>> analyze this issue.
> > _______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users



  • application/pgp-signature attachment: stored