[tao-users] [EXTERNAL] Re: TAO 1.7.4 (I know, its old)
Douglas C. Schmidt
d.schmidt at vanderbilt.edu
Thu Apr 2 09:46:32 CDT 2020
Hi Rob,
We appreciate you tracking this down! That's definitely an
oversight that we need to fix. Johnny/Steve, is there a better way to
fix this than what Rob did below?
Thanks,
Doug
>So I finally got the debugger working properly and found the problem, or at=
> least a hack workaround. In ACE_wrappers\ace\OS_NS_sys_socket.inl, I had =
>to modify the connect operation. It seems errno was not getting set proper=
>ly for some reason. I copied the operation below. Any suggestions for a b=
>etter fix or go with this?
>
>Thanks,
>Rob
>
>
>ACE_INLINE int
>ACE_OS::connect (ACE_HANDLE handle,
> struct sockaddr *addr,
> int addrlen)
>{
> ACE_OS_TRACE ("ACE_OS::connect");
>#if defined (ACE_LACKS_CONNECT)
> ACE_UNUSED_ARG (handle);
> ACE_UNUSED_ARG (addr);
> ACE_UNUSED_ARG (addrlen);
> ACE_NOTSUP_RETURN (-1);
>#else
>
>// NEW CODE
> int ret =3D ::connect((ACE_SOCKET)handle,
> addr,
> (ACE_SOCKET_LEN)addrlen);
> if (ret =3D=3D -1) {
>
> if (WSAGetLastError() =3D=3D WSAEWOULDBLOCK) {
> errno =3D EWOULDBLOCK;
> }
> }
> return ret;
>// END NEW CODE, BEGIN OLD CODE
>// ACE_SOCKCALL_RETURN (::connect ((ACE_SOCKET) handle,
>// addr,
>// (ACE_SOCKET_LEN) addrlen), int, -1);
>#endif /* ACE_LACKS_CONNECT */
>}
>
>
>________________________________________
>From: Johnny Willemsen <jwillemsen at remedy.nl>
>Sent: Tuesday, March 31, 2020 10:44 AM
>To: Ruff, Rob; tao-users
>Subject: [EXTERNAL] Re: TAO 1.7.4 (I know, its old)
>
>This email originated from outside of SRC. Do not click links or open attac=
>hments unless you recognize the sender and know the content is safe.
>
>
>
>
>Hi,
>
>Thanks for using the PRF form, yes, 1.7.4 is really ancient. Would
>recommend you to enable TAO logging and see what for logging you get.
>
>A lot of things changed between 1.7.4 and now, sorting out what changed
>will be a huge task also.
>
>Best regards,
>
>Johnny Willemsen
>Remedy IT
>http://www.remedy.nl
>
>On 3/31/20 4:38 PM, Ruff, Rob wrote:
>>
>>
>> To: tao-bugs at cs.wustl.edu
>> Subject: TAO: Exceptions accessing Naming Service with VS 2019 upgrade
>>
>> ACE VERSION: 5.7.4
>> TAO VERSION: 1.7.4
>>
>> HOST MACHINE and OPERATING SYSTEM: Dell Precision M4800, Windows 10
>> If on Windows based OS's, which version of WINSOCK do you
>> use?:
>>
>> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>> COMPILER NAME AND VERSION (AND PATCHLEVEL):MS VS 2008 sp1, MS VS 2019
>>
>> THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
>> specific file, simply state which one]: config-win32.h
>>
>> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
>> use a link to a platform-specific file, simply state which one
>> (unless this isn't used in this case, e.g., with Microsoft Visual
>> C++)]:
>>
>> BUILD METHOD USED:
>> [Experimental ./configure or traditional makefile/project file?]
>>
>> 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?]
>> Naming service access runtime issue
>>
>> DOES THE PROBLEM AFFECT:
>> COMPILATION? NO
>> LINKING? NO
>> On Unix systems, did you run make realclean first?
>> EXECUTION? YES
>> OTHER (please specify)?
>> [Please indicate whether ACE/TAO, your application, or both are affected.=
>]
>> Both
>>
>> SYNOPSIS:
>> Trying to migrate from VS 2008 to VS 2019
>>
>> DESCRIPTION:
>> I let VS 2019 auto update the ace/TAO VS 2008 files. With a few minor ch=
>anges,
>> I was able to compile and build everything. I can start applications but=
> none
>> can communicate with the naming service. I always get a CORBA TRANSIENT
>> exception.
>>
>> I ran tao_nslist from the debugger and it throws the exception on:
>>
>> CosNaming::NamingContext_var root_nc =3D
>> CosNaming::NamingContext::_narrow (obj.in ());
>>
>> Any tips on what could be wrong?
>>
>> I built the latest ace/tao with vs 2019 and was able to connect tao_nslis=
>t to
>> the naming service but that upgrade would result in quite a few changes t=
>o our
>> code so I was hoping to stick with 5.7.4 if possible. The software is fo=
>r
>> command and control of three communication systems in operation in Antarc=
>tica.
>>
>>
>> REPEAT BY:
>> As a simple test, I used naming_service and tao_nslist applications built=
> with
>> both VS 2008 and VS 2019. Here are the results:
>>
>> connect VS 2008 tao_nslist to VS 2008 naming_service - WORKS
>> connect VS 2019 tao_nslist to VS 2008 naming_service - TRANSIENT exceptio=
>n
>> connect VS 2008 tao_nslist to VS 2019 naming_service - WORKS
>> connect VS 2019 tao_nslist to VS 2019 naming_service - TRANSIENT exceptio=
>n
>>
>> SAMPLE FIX/WORKAROUND:
>> [If available ]
>>
More information about the tao-users
mailing list