[ace-bugs] ace bug

Anna Hogue Anna.Hogue at kratos-ISI.com
Tue Aug 2 12:48:24 CDT 2016


ACE VERSION: 6.4.0

    HOST MACHINE and OPERATING SYSTEM:
        If on Windows based OS's, which version of WINSOCK do you
        use?: Server process on Linux

    TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
    COMPILER NAME AND VERSION (AND PATCHLEVEL):
        Client running on windows 7 or later shows issue

    THE $ACE_ROOT/ace/config.h FILE
#define FD_SETSIZE 1024
#define ACE_HAS_STANDARD_CPP_LIBRARY 1

//Note: The following was added for windows clients because main()
//generally cannot be redefined as required by ACE.  See
//"Non-static ACE_Object_Manager" discussion in ACE-INSTALL.html for
//additional details.  Clients must call ACE::init() and ACE::fini()
//if ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER is defined.
//The file ace/Object_Manager.h also discusses important
//info related to singleton destruction and various approaches
//that can be followed to ensure clean shutdown.
#ifdef ISI_BUILD_VC_STD_MAIN
#define ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER
#endif

#define ACE_HAS_IPV6 1
#define ACE_USES_IPV4_IPV6_MIGRATION 1

#include "config-win32.h"

#undef ACE_USES_WCHAR


    THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [Microsoft Visual
    C++)]:

    CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
    (used by MPC when you generate your own makefiles):

    AREA/CLASS/EXAMPLE AFFECTED:
[What example failed?  What module failed to compile?]

    DOES THE PROBLEM AFFECT:

        EXECUTION?
        OTHER (please specify)?
application

    SYNOPSIS:
Ipv6 enabled doesn't appear to work out of box on machine with ipv4 & ipv6 turned on

    DESCRIPTION:
When doing a Narrow on a corba object, a transient is thrown when getting  TAO_transport object (in Synch_Invocation.cpp. Synch_Twoway_Invocation::remote_twoway().

Corbaloc is a name.  The stringified corba loc is corbaloc:iiop:<hostname>:<port>/<server name>   We tried with the name in the local hosts file and resolution via DNS. It does resolve based on local DNS cache.

We see however that in INET_Addr.cpp , we are getting a an ipv4 mapped ipv6 address of the form that getaddrinfo is spitting out an address of the form

[::ffff:ab.cdc.ef.gh]:29000

Getaddrinfo() returns successfully with a sockaddr of length 28. (i.e. the name resolves) and then the Narrow yields a transient.

    REPEAT BY:

    SAMPLE FIX/WORKAROUND:
turn off IPV6 on windows and then getAddrInfo() call yields an ipv4 ip address and everything is peachy. (not a valid work around)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/ace-bugs/attachments/20160802/0910ff58/attachment.html>


More information about the ace-bugs mailing list