[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