[Ace-users] Re: [tao-users] [tao-bugs] LOCATION_FORWARD and multiple network interfaces bug

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Mon Jun 18 15:23:30 CDT 2007


Hi Benjamin,

   Thanks for using the PRF.  Could you please add this to bugzilla so
that we can track it?

Thanks very much,

        Doug
=20
>     TAO VERSION: 1.5.8
>     ACE VERSION: 5.5.8
>=20
>     HOST MACHINE and OPERATING SYSTEM:
>         mixed Linux (debian-sarge-2.6) and Windows XP=20=20
>=20
>     THE $ACE_ROOT/ace/config.h FILE
> ----------begin windows --------
> #define ACE_HAS_STANDARD_CPP_LIBRARY 1
> #define ACE_HAS_MFC 1
>=20
> #include "ace/config-win32.h"
> ----------end windows --------
>=20
> ----------begin linux --------
> #include "ace/config-linux.h"
> ----------end linux --------
>=20
>     THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE
> ----------begin linux --------
> include  $ACE_ROOT/include/makeinclude/platform_linux.GNU
> ----------end linux --------
>=20
>     DOES THE PROBLEM AFFECT:
>         COMPILATION?
>             NO
>=20
>         LINKING?
>         NO
>=20
>         EXECUTION?
>         YES
>=20
>     SYNOPSIS:
> the ACE/TAO Library has a bug in a mixed Linux and Windows=20
> environment if the Windows machine
> has multiple network interfaces.
>=20
>     DESCRIPTION:
> If i have a setup like:
>=20
> [windows if1 192.168.1.19/24]   <----------->   [linux=20
> machine 192.168.1.101]
> [windows if2 192.168.84.1/24]
> [windows if3 192.168.17.1/24]
>=20
> no I try to connect from the linux machine to the windows machine:
>=20
>         std::string s =3D=20
> "corbaloc::192.168.1.19:60002/ConnectionController";
>=20
>         CORBA::Object_var  obj =3D=20
> m_varORB->string_to_object(s.c_str());
>=20
>         ORICS::IConnectionController_var iConnectionController =3D
>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
> ORICS::IConnectionController::_narrow(obj);
>=20
> and capture following on network:
>=20
>     490 14:46:00.214537 192.168.1.101         192.168.1.19=20=20
>         TCP      1803 > 60002 [SYN]
>     491 14:46:00.214628 192.168.1.19          192.168.1.101=20
>         TCP      60002 > 1803 [SYN, ACK]
>     492 14:46:00.214758 192.168.1.101         192.168.1.19=20=20
>         TCP      1803 > 60002 [ACK]
>     493 14:46:00.215003 192.168.1.19          192.168.1.101=20
>         TCP      [TCP Dup ACK 491#1]
>     495 14:46:00.216847 192.168.1.101         192.168.1.19=20=20
>         GIOP     GIOP 1.0 Request 1 (two-way): _is_a
>     496 14:46:00.218972 192.168.1.19          192.168.1.101=20
>         GIOP     GIOP 1.0 Reply 1: Location Forward
>     497 14:46:00.219159 192.168.1.101         192.168.1.19=20=20
>         TCP      1803 > 60002 [ACK]
>     500 14:46:00.239772 192.168.1.101         192.168.84.1=20=20
>         TCP      2001 > 60002 [SYN]
>=20
> the ace-tao corba library tries to connect the windows=20
> machine on the wrong ip address.
>=20
> the log file of the linux machine is:
>=20
> <<070718 log.txt>>
>=20
>     SAMPLE FIX/WORKAROUND:
> My workaround is to start the windows program with=20
> "-ORBListenEndpoints iiop://192.168.1.19:60002".
>=20
> Mit freundlichen Gr=FCssen / best regards
>=20
> Benjamin Sch=FCle
> Senior Systems Engineer
> ORICS - Operating Room Information and Communication System
>=20
> BERCHTOLD Consulting GmbH
> Rheinweg 5
> CH-8200 Schaffhausen
>=20
> Tel     ++41 (0) 52 633 09 12
> Fax    ++41 (0) 52 633 09 09
> benjamin.schuele at berchtold-consulting.ch
> http://www.berchtold.de



More information about the Ace-users mailing list