Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

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