[Ace-users] Re: [tao-bugs] LOCATION_FORWARD and multiple network
interfaces bug
Johnny Willemsen
jwillemsen at remedy.nl
Wed Jun 20 13:28:48 CDT 2007
Hi,
Another option would be the optimized connection strategy, that should also
do the trick.
Johnny
> -----Original Message-----
> From: schmidt at dre.vanderbilt.edu [mailto:schmidt at dre.vanderbilt.edu]
> Sent: Wednesday, June 20, 2007 8:22 PM
> To: benjamin.schuele at berchtold-consulting.ch; mesnier_p at ociweb.com
> Cc: Johnny Willemsen; tao-bugs at cs.wustl.edu
> Subject: Re: [tao-bugs] LOCATION_FORWARD and multiple network
> interfaces bug
>
>
> Hi Phil,
>
> Would you be able to shed some light on the UseParallelConnects
> option described by Benjamin below?
>
> Thanks,
>
> Doug
>
> > thanks a lot, "-ORBUseParallelConnects 1" is a very good
> hint. Unfortunately I have
> > not read the new options after changing from 1.4 tao version to 1.5.
> >
> > But it does not solve the problem (other bug?).
> >
> > After spend some time in debugging, I see following situation:
> >
> > * In the "Invocation_Adapter::invoke_twoway" method
> > (on "... synch.remote_twoway (max_wait_time)")
> > the server replay with "Locatin Forward" and multiple NICs
> >
> > * In "CORBA::Boolean operator>> (TAO_InputCDR& cdr,
> CORBA::Object*& x)"
> > (called from Synch_Twoway_Invocation::location_forward
> (TAO_InputCDR &inp_stream))
> > all NICs from server replay are correctly decoded and
> create a TAO_Profile object for each
> >
> > * In the "TAO_Default_Endpoint_Selector::select_endpoint
> (....)" method
> > on "if (r->profile ()->endpoint_count () > 1 &&
> r->use_parallel_connect())"
> > r->profile ()->endpoint_count () does always return 1
> >
> > -->result is that the option "-ORBUseParallelConnects 1"
> has no effect.
> >
> > I've attached a project to reconstruct the bug, server have
> to run on host with multiple NICs.
> >
> > Mit freundlichen Grüssen / best regards
> >
> > Benjamin Schüle
> > Senior Systems Engineer
> > ORICS - Operating Room Information and Communication System
> >
> > BERCHTOLD Consulting GmbH
> > Rheinweg 5
> > CH-8200 Schaffhausen
> >
> > Tel ++41 (0) 52 633 09 12
> > Fax ++41 (0) 52 633 09 09
> > benjamin.schuele at berchtold-consulting.ch
> > http://www.berchtold.de
> >
> >
> >
> >
> >
> >
> > -----Ursprüngliche Nachricht-----
> > Von: Johnny Willemsen [mailto:jwillemsen at remedy.nl]
> > Gesendet: Dienstag, 19. Juni 2007 20:32
> > An: Benjamin Schüle; tao-bugs at cs.wustl.edu
> > Betreff: RE: [tao-bugs] LOCATION_FORWARD and multiple
> network interfaces
> > bug
> >
> >
> > Hi,
> >
> > This is not really a bug, more a feature. The endpoints are
> added to the IOR
> > in the order the OS returns them. If you have multiple
> NICs, you should
> > specify the ones explicitly. An option option is to use
> > -ORBUseParallelConnects 1 on the linux node, then it will
> try to connect to
> > all 3 nics at the same moment.
> >
> > Another option is to look at the
> TAO_Optimized_Connection_Endpoint_Selector
> > in the TAO/tao/Strategies library, with the location
> forward it then doesn't
> > make a new connection.
> >
> > Regards,
> >
> > Johnny Willemsen
> > Remedy IT
> > Postbus 101
> > 2650 AC Berkel en Rodenrijs
> > The Netherlands
> > www.theaceorb.nl / www.remedy.nl
> >
> > *** Integrated compile and test statistics see http://remedy.nl ***
> > *** Commercial service and support for ACE/TAO/CIAO ***
> > *** See http://www.theaceorb.nl/en/support.html ***
> >
> >
> > ________________________________
> >
> > From: tao-bugs-bounces at cse.wustl.edu
> > [mailto:tao-bugs-bounces at cse.wustl.edu] On Behalf Of Benjamin Schüle
> > Sent: Monday, June 18, 2007 3:16 PM
> > To: tao-bugs at cs.wustl.edu
> > Subject: [tao-bugs] LOCATION_FORWARD and multiple
> network interfaces
> > bug
> >
> >
> >
> > TAO VERSION: 1.5.8
> > ACE VERSION: 5.5.8
> >
> > HOST MACHINE and OPERATING SYSTEM:
> > mixed Linux (debian-sarge-2.6) and Windows XP
> >
> >
> > THE $ACE_ROOT/ace/config.h FILE
> > ----------begin windows --------
> > #define ACE_HAS_STANDARD_CPP_LIBRARY 1
> > #define ACE_HAS_MFC 1
> >
> > #include "ace/config-win32.h"
> > ----------end windows --------
> >
> > ----------begin linux --------
> > #include "ace/config-linux.h"
> > ----------end linux --------
> >
> >
> > THE
> $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE
> > ----------begin linux --------
> > include $ACE_ROOT/include/makeinclude/platform_linux.GNU
> > ----------end linux --------
> >
> >
> > DOES THE PROBLEM AFFECT:
> > COMPILATION?
> > NO
> >
> > LINKING?
> > NO
> >
> > EXECUTION?
> > YES
> >
> > SYNOPSIS:
> > the ACE/TAO Library has a bug in a mixed Linux and Windows
> > environment if the Windows machine
> > has multiple network interfaces.
> >
> > DESCRIPTION:
> > If i have a setup like:
> >
> > [windows if1 192.168.1.19/24] <----------->
> [linux machine
> > 192.168.1.101]
> > [windows if2 192.168.84.1/24]
> > [windows if3 192.168.17.1/24]
> >
> >
> > no I try to connect from the linux machine to the
> windows machine:
> >
> > std::string s =
> > "corbaloc::192.168.1.19:60002/ConnectionController";
> >
> > CORBA::Object_var obj =
> > m_varORB->string_to_object(s.c_str());
> >
> > ORICS::IConnectionController_var
> iConnectionController =
> >
> > ORICS::IConnectionController::_narrow(obj);
> >
> > and capture following on network:
> >
> > 490 14:46:00.214537 192.168.1.101 192.168.1.19
> > TCP 1803 > 60002 [SYN]
> > 491 14:46:00.214628 192.168.1.19 192.168.1.101
> > TCP 60002 > 1803 [SYN, ACK]
> > 492 14:46:00.214758 192.168.1.101 192.168.1.19
> > TCP 1803 > 60002 [ACK]
> > 493 14:46:00.215003 192.168.1.19 192.168.1.101
> > TCP [TCP Dup ACK 491#1]
> > 495 14:46:00.216847 192.168.1.101 192.168.1.19
> > GIOP GIOP 1.0 Request 1 (two-way): _is_a
> > 496 14:46:00.218972 192.168.1.19 192.168.1.101
> > GIOP GIOP 1.0 Reply 1: Location Forward
> > 497 14:46:00.219159 192.168.1.101 192.168.1.19
> > TCP 1803 > 60002 [ACK]
> > 500 14:46:00.239772 192.168.1.101 192.168.84.1
> > TCP 2001 > 60002 [SYN]
> >
> > the ace-tao corba library tries to connect the
> windows machine on
> > the wrong ip address.
> >
> >
> > the log file of the linux machine is:
> >
> > <<070718 log.txt>>
> >
> >
> > SAMPLE FIX/WORKAROUND:
> > My workaround is to start the windows program with
> > "-ORBListenEndpoints iiop://192.168.1.19:60002".
> >
> >
> >
> >
> > Mit freundlichen Grüssen / best regards
> >
> > Benjamin Schüle
> > Senior Systems Engineer
> > ORICS - Operating Room Information and Communication System
> >
> > BERCHTOLD Consulting GmbH
> > Rheinweg 5
> > CH-8200 Schaffhausen
> >
> > Tel ++41 (0) 52 633 09 12
> > Fax ++41 (0) 52 633 09 09
> > benjamin.schuele at berchtold-consulting.ch
> > http://www.berchtold.de
> > _______________________________________________
> > tao-bugs mailing list
> > tao-bugs at mail.cse.wustl.edu
> > http://mail.cse.wustl.edu/mailman/listinfo/tao-bugs
>
More information about the Ace-users
mailing list