On Mar 9, 2010, at 7:26 PM, Lasse Kliemann wrote:

> 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?

I honestly don't know - my suggestion was based solely on the glibc 
documentation stating that the error you got was due to the file descriptor not 
pointing to a pty device.

Best guess: perhaps glibc isn't recognizing this pty configuration...?


> 
> 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
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to