> You could confirm that it is the IPv6 loop by simply disabling IPv6
> support - configure with --disable-ipv6 and see if you still get the error
> messages
>
> Thanks for continuing to pursue this!
> Ralph
>

Yeah, but if you disable the IPv6 stuff then there's a completely
different path taken through the routine in question.

It just does a simple:

    inet_ntoa(((struct sockaddr_in*) addr)->sin_addr);

as opposed to the

    error = getnameinfo(addr, addrlen,
                        name, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);


that gets invoked, for EVERY addr, if you do enable IPv6, which
seems a little odd.

Actually, looking at the logic of how execution happens in that
routine, it's not clear that an IPv6 addr on NetBSD should get
into the code where the getnameinfo() is called anyway !

A comment just above there even says:

        /* hotfix for netbsd: on my netbsd machine, getnameinfo
           returns an unkown error code. */


Turning off IPv6 therefore doesn't actual tickle the previous error
in a different way for IPv4, it simply routes around it altogether.

I still reckon that the "sa_len = 0" is the key here and that must
be being set elsewhere when the addr that is blowing things up is
allowed through.

I'll try recompiling the PETSc/PISM stuff on top of an --disable-ipv6
OpenMPI and see what happens. Certainly, when running the SkaMPI tests
the error messages go away, but then they aren't in the code that is
being compiled anymore, so one might expect that !!!

-- 
Kevin M. Buckley                                  Room:  CO327
School of Engineering and                         Phone: +64 4 463 5971
 Computer Science
Victoria University of Wellington
New Zealand

Reply via email to