Source: openmpi
Version: 1.4.1-1

        Programs run under mpirun(1) freeze on first MPI operation when
        multiple addresses per interface are involved.

        The configuration was roughly as follows:

$ ip addr 
…
2: eth0: …
    …
    inet6 2001:db8::2XX:XXXX:XXXX:XXXX/64 scope global dynamic 
       …
    inet6 2001:db8::17a:170:1:4/64 scope global 
       valid_lft forever preferred_lft forever
…
$ 

        (I. e., one address was configured in interfaces(5), while the
        other was thanks to the stateless IPv6 autoconfiguration.)

        The mpirun(1) was invoked like:

$ mpirun -nperboard 4 -H node1…,node2…,node3… hpcc… < /dev/null &

        which resulted in orted(1) being spawned on the nodes, with both
        of the IPv6 addresses in the tcp6:// URI's.  The payload
        processes were consuming 100% CPU each, but no progress was
        made.  (While we've tried to diagnose the problem, it was
        observed that the nodes have actually formed two disjoint sets,
        with the nodes of a single set being able to participate in a
        parallel computation spawned at any node, but all the attempts
        to spawn a task using the nodes from different sets have
        resulted in the behavior described above; apparently, the sets
        were formed with some dependence on the MAC address.)

        The behavior was 100%-reproducible.

        Switching the stateless configuration off on the nodes with
        sysctl(8) and removing the extra IP have fixed the problem.

# sysctl -w net.ipv6.conf.eth0.accept_ra=0 
# ip addr del 2001:db8::2XX:XXXX:XXXX:XXXX/64 dev eth0 
# 

-- 
FSF associate member #7257

Attachment: pgphbQbPmTkFL.pgp
Description: PGP signature

Reply via email to