Ralph and Paul,

On 2014/11/26 10:37, Ralph Castain wrote:
> So it looks like the issue isn't so much with our code as it is with the OS 
> stack, yes? We aren't requiring that the loopback be "up", but the stack is 
> in order to establish the connection, even when we are trying a non-lo 
> interface.
this is correct (imho)
> I can look into generating a faster timeout on the socket creation. In the 
> trunk, we now use unix domain sockets instead of TCP to avoid such issues, 
> but that won't help with the 1.8 series.
i was about to suggest this situation could have been avoided in the
first place by using unix domain sockets instead of TCP sockets :-)

is a backport (since this is already available in the trunk/master)
simply out of the question ?

Cheers,

Gilles

>
>> On Nov 25, 2014, at 4:50 PM, Paul Hargrove <phhargr...@lbl.gov> wrote:
>>
>> Ralph,
>>
>> I had a look at the problem via "mpirun -np 1 strace -o trace -ff ./hello"
>> I find that there is an attempt (by a secondary thread) to establish a TCP 
>> socket from the rank process to the eth0 address of localhost (I am guessing 
>> to reach the orted/mpirun).
>> However, when the "lo" interface is down, the Linux kernel apparently cannot 
>> establish that socket.
>>
>> In fact, if I am sufficiently patient, it turns out the "hang" is bounded, 
>> and eventually one sees:
>>
>> phargrov@blcr-armv7:~$ time mpirun -np 1 ./a.out
>> ------------------------------------------------------------
>> A process or daemon was unable to complete a TCP connection
>> to another process:
>>   Local host:    blcr-armv7
>>   Remote host:   10.0.2.15
>> This is usually caused by a firewall on the remote host. Please
>> check that any firewall (e.g., iptables) has been disabled and
>> try again.
>> ------------------------------------------------------------
>>
>> real    2m8.151s
>> user    0m5.360s
>> sys     0m57.430s
>>
>>
>> Where blcr-armv7 and 10.0.2.15 are *both* the local (only) host.
>>
>> There is no firewall, but in case you doubt me on that, here is a 
>> demonstration using ping to show that 10.0.2.15 is only reachable when the 
>> loopback interface is enabled:
>>
>> phargrov@blcr-armv7:~$ sudo ifconfig lo up
>> phargrov@blcr-armv7:~$ ping -q -c2 10.0.2.15
>> PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
>>
>> --- 10.0.2.15 ping statistics ---
>> 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
>> rtt min/avg/max/mdev = 0.527/0.534/0.542/0.024 ms
>>
>>
>> phargrov@blcr-armv7:~$ sudo ifconfig lo down
>> phargrov@blcr-armv7:~$ ping -q -c2 10.0.2.15
>> PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
>>
>> --- 10.0.2.15 ping statistics ---
>> 2 packets transmitted, 0 received, 100% packet loss, time 1006ms
>>
>>
>> So, there is no "hang" -- just a 2 minute pause before the error message is 
>> generated.
>> However, it may still be possible to present a better/earlier error message 
>> when there is no loopback interface (and at least one rank process is to be 
>> launched locally).
>>
>>
>> -Paul
>>
>> On Tue, Nov 25, 2014 at 4:19 PM, Ralph Castain <r...@open-mpi.org 
>> <mailto:r...@open-mpi.org>> wrote:
>> I'll have to look - there isn't supposed to be such a requirement, and I 
>> certainly haven't seen it before.
>>
>>
>>> On Nov 25, 2014, at 3:26 PM, Paul Hargrove <phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>> wrote:
>>>
>>> Allan,
>>>
>>> I am glad things are working for you now.
>>> I can confirm (on a QEMU-emulated Versatile Express A9 board running Ubuntu 
>>> 14.04) that disabling the "lo" interface reproduces the problem.
>>> I imagine this is true on other architectures, though I did not attempt to 
>>> verify.
>>>
>>> Ralph,
>>>
>>> If oob:tcp really does need the loopback interface, shouldn't its lack be 
>>> something that could/should be detected and reported instead of hanging as 
>>> Allan saw?
>>>
>>> FWIW, neither of the following resolved the problem:
>>>     -mca oob_tcp_if_exclude lo
>>>     -mca oob_tcp_if_include eth0
>>>
>>>
>>> -Paul
>>>
>>> On Tue, Nov 25, 2014 at 2:58 PM, Allan Wu <al...@cs.ucla.edu 
>>> <mailto:al...@cs.ucla.edu>> wrote:
>>> I think I have found the problem. After inspecting the output with "-mca 
>>> state_base_verbose 10 -mca odls_base_verbose 10 -mca oob_base_verbose 100" 
>>> on both the old system and the new system, I noticed there is one line that 
>>> is different: on the old system where it works correctly, there is a line 
>>> that says: "oob:tcp:init rejecting loopback interface lo", while on the new 
>>> system there is no such line. Both system proceed to open interface eth0 
>>> afterwards. Then I checked the new system, and found out that somehow the 
>>> loopback interface is not up by default. After I opened the lo interface, 
>>> the mpirun executes normally.
>>>
>>> Does it means that OpenMPI will use lo for some initial setup? Since the 
>>> actual socket was created on eth0 I did not think of checking the lo 
>>> interface. Anyway, thanks everyone for all of your kind help. Let me know 
>>> if you want me to provide any more information for future references. 
>>>
>>> Regards,
>>> Allan
>>>
>>> --
>>> Di Wu (Allan)
>>> PhD student, VAST Laboratory <http://vast.cs.ucla.edu/>,
>>> Department of Computer Science, UC Los Angeles
>>> Email: al...@cs.ucla.edu <mailto:al...@cs.ucla.edu>
>>>
>>> On Tue, Nov 25, 2014 at 11:55 AM, Allan Wu <al...@cs.ucla.edu 
>>> <mailto:al...@cs.ucla.edu>> wrote:
>>> Thanks Ralph!
>>>
>>> I did not compile my openmpi with --enable-debug, and I am compiling it 
>>> now. But your suggested command already provided some output, which I 
>>> attached with this email. 
>>>
>>> It seems the process was stuck on the line:
>>> "[fpga2:00962] [[44848,1],0] waiting for connect completion to 
>>> [[44848,0],0] - activating send event"
>>>
>>> Then it got stuck and I CTRL+C'ed it. Previous to that line, it said 
>>> something about 'orte_tcp_peer_try_connect: attempting to connect to proc 
>>> [[44848,0],0] via interface eth0'.
>>>
>>> Regards,
>>> Di
>>>
>>> On Tue, Nov 25, 2014 at 2:25 PM, Ralph Castain <r...@open-mpi.org 
>>> <mailto:r...@open-mpi.org>> wrote:
>>> This is all running on a single node, correct? If so, did you configure 
>>> OMPI with âEUR"enable-debug? 
>>> If you can do that, or already have, then letâEUR^(TM)s add the following 
>>> to the mpirun cmd line: 
>>>
>>> -mca state_base_verbose 10 -mca odls_base_verbose 10 -mca oob_base_verbose 
>>> 10 
>>>
>>> YouâEUR^(TM)ll get a bunch of output, but hopefully it will tell us where 
>>> mpirun is encountering a problem. 
>>> Ralph 
>>>
>>> On Tue, Nov 25, 2014 at 11:20 AM, Paul Hargrove <phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>> wrote:
>>> Allan,
>>>
>>> If you send me the .config from your build of the kernel I can compare it 
>>> against, for instance, my .config for a Raspberry Pi.
>>> There will certainly be many differences, but I am hoping my own experience 
>>> configuring linux kernels will help me filter the "noise" from any 
>>> differences that might be significant.
>>>
>>> -Paul
>>>
>>> On Tue, Nov 25, 2014 at 11:11 AM, Allan Wu <al...@cs.ucla.edu 
>>> <mailto:al...@cs.ucla.edu>> wrote:
>>> Thanks Paul! Unfortunately '/boot' is not available in my embedded linux, 
>>> and I do not have the configuration file for the old kernel since it is 
>>> provided as is. However, I have the new kernel configuration since I 
>>> compiled it myself. Would it be helpful if I provide you the .config file 
>>> when I compile the kernel? It maybe quite painful to look through that file 
>>> though. Is there any other way that I can obtain the configuration? 
>>>
>>> I checked my config for the new kernel, and UNIX-domain sockets and Sys V 
>>> IPC are both enabled in the build. Are there any other possibilities I can 
>>> check?
>>>
>>> Thanks,
>>> Di
>>>
>>> --
>>> Di Wu (Allan)
>>> PhD student, VAST Laboratory <http://vast.cs.ucla.edu/>,
>>> Department of Computer Science, UC Los Angeles
>>> Email: al...@cs.ucla.edu <mailto:al...@cs.ucla.edu>
>>>
>>> On Tue, Nov 25, 2014 at 10:45 AM, Paul Hargrove <phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>> wrote:
>>> Allan,
>>>
>>> A likely possibility is that some important kernel feature (that Open MPI 
>>> assumes is present) is missing.
>>> That includes not only "kernel modules" as you mention, but also features 
>>> configure in (or out) of the base kernel.
>>> For instance, some embedded kernels omit UNIX-domain sockets and SysV IPC 
>>> support.
>>>
>>> If you can send me (preferably off-list) the kernel config files for the 
>>> old an new kernels I may be able to spot something.
>>> If present, you are looking for /boot/config-[VERSION]
>>>
>>> -Paul
>>>
>>> On Tue, Nov 25, 2014 at 10:25 AM, Allan Wu <al...@cs.ucla.edu 
>>> <mailto:al...@cs.ucla.edu>> wrote:
>>> I'm sorry I forgot to change the subject when I reply to the digest issue. 
>>> Please find my original email below. 
>>>
>>> Regards,
>>> Di
>>>
>>> On Tue, Nov 25, 2014 at 10:19 AM, Allan Wu <al...@cs.ucla.edu 
>>> <mailto:al...@cs.ucla.edu>> wrote:
>>> Thanks Ralph for the reply. Sorry about the log file, I think I forgot to 
>>> put an extension to the file. Please find a new one attached with this 
>>> email. 
>>>
>>> I'm sorry for not enough debugging information, but 'omp_info' and 
>>> '--debug-devel' are the only ways I know for collecting information, are 
>>> there any other things I can try to provide more info?
>>>
>>> When I execute 'mpirun --debug-devel -np 1 ./helloworld', all the output is 
>>> the logging information in my last email. It got stuck at  "[fpga1:00718] 
>>> tmp: /tmp", and nothing from my helloworld program is printed out to the 
>>> screen. So I think it is mpirun failing to start my executable, not failing 
>>> to terminate.
>>>
>>> I was wondering if this has anything to do with my newer kernel version, 
>>> since it works well in the old case. 
>>>
>>> Thanks,
>>> --
>>> Di Wu (Allan)
>>> PhD student, VAST Laboratory <http://vast.cs.ucla.edu/>,
>>> Department of Computer Science, UC Los Angeles
>>> Email: al...@cs.ucla.edu <mailto:al...@cs.ucla.edu>
>>>
>>>
>>> Date: Tue, 25 Nov 2014 07:29:51 -0800
>>> From: Ralph Castain <r...@open-mpi.org <mailto:r...@open-mpi.org>>
>>> To: Open MPI Developers <de...@open-mpi.org <mailto:de...@open-mpi.org>>
>>> Subject: Re: [OMPI devel] OpenMPI v1.8 and v1.8.3 mpirun hangs at
>>>         execution       on an embedded ARM Linux kernel version 3.15.0
>>> Message-ID: <898cb117-f6a6-4569-89c3-49b75d65b...@open-mpi.org 
>>> <mailto:898cb117-f6a6-4569-89c3-49b75d65b...@open-mpi.org>>
>>> Content-Type: text/plain; charset="utf-8"
>>>
>>> I don?t know what you put in that log file, but it was an executable and 
>>> I?m not feeling that trusting :-)
>>>
>>> I?m afraid there isn?t enough debug output there to really tell anything. 
>>> From what little I can see, I?m guessing that the application ran fine and 
>>> you got the usual ?hello? output and the helloworld process exited safely - 
>>> is that correct? And so it is solely mpirun that is failing to cleanly 
>>> terminate?
>>>
>>>
>>>> On Nov 24, 2014, at 11:24 PM, Allan Wu <al...@cs.ucla.edu 
>>>> <mailto:al...@cs.ucla.edu>> wrote:
>>>>
>>>> Hello everyone,
>>>>
>>>> I have cross-compiled OpenMPI for an embedded ARM Linux. Everything works 
>>>> fine for my system based on Linux 3.8.0. I have previously submitted a 
>>>> post related to my compilation, which can be found here: 
>>>> http://www.open-mpi.org/community/lists/devel/2014/04/14440.php 
>>>> <http://www.open-mpi.org/community/lists/devel/2014/04/14440.php> 
>>>> <http://www.open-mpi.org/community/lists/devel/2014/04/14440.php 
>>>> <http://www.open-mpi.org/community/lists/devel/2014/04/14440.php>>. When I 
>>>> recently upgraded my Linux kernel to 3.15.0, mpirun begins to stuck at 
>>>> even the helloworld program. The program consists only simple APIs: 
>>>> MPI_Init, MPI_Comm_size, MPI_Comm_rank, MPI_Finalize. The problem occurs 
>>>> even at 'mpirun -np 1 ./helloworld', and below are the output with 
>>>> --debug-devel (before it got stuck):
>>>> [fpga1:00716] sess_dir_finalize: job session dir not empty - leaving
>>>> [fpga1:00716] procdir: /tmp/openmpi-sessions-root@fpga1_0/63813/0/0
>>>> [fpga1:00716] jobdir: /tmp/openmpi-sessions-root@fpga1_0/63813/0
>>>> [fpga1:00716] top: openmpi-sessions-root@fpga1_0
>>>> [fpga1:00716] tmp: /tmp
>>>> [fpga1:00718] procdir: /tmp/openmpi-sessions-root@fpga1_0/63813/1/0
>>>> [fpga1:00718] jobdir: /tmp/openmpi-sessions-root@fpga1_0/63813/1
>>>> [fpga1:00718] top: openmpi-sessions-root@fpga1_0
>>>> [fpga1:00718] tmp: /tmp
>>>>
>>>> I suspect maybe it is due to incompatible kernel version or some missing 
>>>> kernel modules. I tried also with the latest version 1.8.3, and had the 
>>>> same problem. Does anyone have any thoughts? I have attached the output of 
>>>> 'ompi-info --all' with this email.
>>>>
>>>> Please let me know if I need to provide more information. Thanks in 
>>>> advance!
>>>>
>>>> Regards,
>>>> --
>>>> Di Wu (Allan)
>>>> PhD student, VAST?Laboratory <http://vast.cs.ucla.edu/ 
>>>> <http://vast.cs.ucla.edu/>>,
>>>> Department of Computer Science, UC Los Angeles
>>>> Email: al...@cs.ucla.edu <mailto:al...@cs.ucla.edu> 
>>>> <mailto:al...@cs.ucla.edu <mailto:al...@cs.ucla.edu>>
>>>> <log.tar.gz>_______________________________________________
>>>> devel mailing list
>>>> de...@open-mpi.org <mailto:de...@open-mpi.org>
>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
>>>> <http://www.open-mpi.org/mailman/listinfo.cgi/devel>
>>>> Link to this post: 
>>>> http://www.open-mpi.org/community/lists/devel/2014/11/16330.php 
>>>> <http://www.open-mpi.org/community/lists/devel/2014/11/16330.php>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org <mailto:de...@open-mpi.org>
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
>>> <http://www.open-mpi.org/mailman/listinfo.cgi/devel>
>>> Link to this post: 
>>> http://www.open-mpi.org/community/lists/devel/2014/11/16341.php 
>>> <http://www.open-mpi.org/community/lists/devel/2014/11/16341.php>
>>>
>>>
>>>
>>> -- 
>>> Paul H. Hargrove                          phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>
>>> Computer Languages & Systems Software (CLaSS) Group
>>> Computer Science Department               Tel: +1-510-495-2352 
>>> <tel:%2B1-510-495-2352>
>>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900 
>>> <tel:%2B1-510-486-6900>
>>>
>>>
>>>
>>> -- 
>>> Paul H. Hargrove                          phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>
>>> Computer Languages & Systems Software (CLaSS) Group
>>> Computer Science Department               Tel: +1-510-495-2352 
>>> <tel:%2B1-510-495-2352>
>>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900 
>>> <tel:%2B1-510-486-6900>
>>>
>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org <mailto:de...@open-mpi.org>
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
>>> <http://www.open-mpi.org/mailman/listinfo.cgi/devel>
>>> Link to this post: 
>>> http://www.open-mpi.org/community/lists/devel/2014/11/16348.php 
>>> <http://www.open-mpi.org/community/lists/devel/2014/11/16348.php>
>>>
>>>
>>>
>>> -- 
>>> Paul H. Hargrove                          phhargr...@lbl.gov 
>>> <mailto:phhargr...@lbl.gov>
>>> Computer Languages & Systems Software (CLaSS) Group
>>> Computer Science Department               Tel: +1-510-495-2352 
>>> <tel:%2B1-510-495-2352>
>>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900 
>>> <tel:%2B1-510-486-6900>_______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org <mailto:de...@open-mpi.org>
>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
>>> <http://www.open-mpi.org/mailman/listinfo.cgi/devel>
>>> Link to this post: 
>>> http://www.open-mpi.org/community/lists/devel/2014/11/16349.php 
>>> <http://www.open-mpi.org/community/lists/devel/2014/11/16349.php>
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org <mailto:de...@open-mpi.org>
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel 
>> <http://www.open-mpi.org/mailman/listinfo.cgi/devel>
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/devel/2014/11/16350.php 
>> <http://www.open-mpi.org/community/lists/devel/2014/11/16350.php>
>>
>>
>>
>> -- 
>> Paul H. Hargrove                          phhargr...@lbl.gov 
>> <mailto:phhargr...@lbl.gov>
>> Computer Languages & Systems Software (CLaSS) Group
>> Computer Science Department               Tel: +1-510-495-2352
>> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/devel/2014/11/16351.php
>
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/11/16352.php

Reply via email to