[ace-users] ACE TAO: Upgrade from 5.5.4 to 6.5.7

Johnny Willemsen jwillemsen at remedy.nl
Wed Mar 11 10:59:00 CDT 2020


Hi

Thanks for using the PRF form. This looks like a problem in application
code related to the manual reference counting of the IDL to C++ language
mapping. Very likely somewhere a duplicate is missing causing an invalid
free. Does the application with 1.5.4 run without problems on RHEL 7?

The Intel C++ compiler isn't used much, have you tried to compile and
run some of the TAO unit tests to determine that these run?

The generated code has changed a lot between these versions but that is
as expected, you should regenerate all IDL files to make sure the
S.*/C.* files are matching your TAO version.

Best regards,

Johnny Willemsen
Remedy IT


> 
> On 3/11/20 10:58 AM, Yorick wrote:
>> Hello All,
>> I have encountered an issue with upgrading from ACE 5.5.4 (TAO 1.5.4) to ACE 6.5.7 (TAO 2.5.7).
>>     ACE VERSION: 6.5.7
>>
>>     HOST MACHINE and OPERATING SYSTEM: Red Hat 7
>>
>>     TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>>     COMPILER NAME AND VERSION (AND PATCHLEVEL): Red Hat 7
>>
>>     THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
>>     specific file, simply state which one]:
>> #define TAO_HAS_INTERCEPTORS 0
>> #include "ace/config-linux.h"
>> #if defined (ACE_USES_OLD_IOSTREAMS)
>> # undef (ACE_USES_OLD_IOSTREAMS)
>> #endif
>> #define ACE_LACKS_STROPTS_H 1
>> #define ACE_LACKS_STRRECVFD 1
>> #undef ACE_HAS_STRBUF_T
>> #undef ACE_HAS_SCANDIR
>>
>>
>>     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++)]:
>> include $(ACE_ROOT)/include/makeinclude/platform_linux_icc.GNU
>> cidl=1
>> qt4=1
>> qtver=4
>> qt=1
>> interceptors=0
>> ace_qt4reactor=1
>> debug=1
>>
>>     CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
>>     (used by MPC when you generate your own makefiles):
>> cidl=1
>> qt4=1
>> qt=1
>> interceptors=0
>> ace_qt4reactor=1
>>     AREA/CLASS/EXAMPLE AFFECTED:
>> ACE & TAO build fine.
>>
>>     DOES THE PROBLEM AFFECT:
>>         COMPILATION?
>>         LINKING?
>>             On Unix systems, did you run make realclean first?
>>         EXECUTION?
>>         OTHER (please specify)?
>> My Application is affected on execution, setting up the server. Started from a clean build.
>>
>>     SYNOPSIS:
>> Upon binding CosNaming::Name I get a SIGABRT from libc, originating from the _this () method generated by TAO_IDL.
>>
>>     DESCRIPTION:
>> >From GDB I get this stacktrace:
>> *** Error in `<APPLICATION>.exe': free(): invalid next size (fast): 0x000000000aa12810 ***
>> ======= Backtrace: =========
>> /lib64/libc.so.6(+0x7c619)[0x2aaac9f4f619]
>> <APPLICATION>.exe(_ZN5CORBA6Object14_decr_refcountEv+0x2b)[0x879dab]
>> <APPLICATION>.exe(_ZN5CORBA7releaseIPNS_6ObjectEEEvT_+0x21)[0x87c27d]
>> <APPLICATION>.exe(_ZN16TAO_Pseudo_Var_TIN5CORBA6ObjectEED1Ev+0x1b)[0x878c97]
>> <APPLICATION_MODULE>.so(_ZN15<POA_GENERATED_NAMESPACE>9<GENERATEDCLASS>5_thisEv+0x2da)[0x2aaab52c8fa4]
>> <APPLICATION_MODULE>.so(+0x2fd932)[0x2aaab5312932]
>> <APPLICATION_MODULE>.so(_Z16CorbaStartServerPKc+0x4a5)[0x2aaab5313355]
>> <APPLICATION_MODULE>.so(_ZN14DistHFPTModule10initialiseERiPPc+0x5b)[0x2aaab535331b]
>> <APPLICATION>.exe[0x566ebd]
>> <APPLICATION>.exe[0x565db5]
>> <APPLICATION>.exe(main+0x20)[0x5664bc]
>> /lib64/libc.so.6(__libc_start_main+0xf5)[0x2aaac9ef4c05]
>> <APPLICATION>.exe[0x5655a9]
>> ======= Memory map: ========
>> 00400000-01f37000 r-xp 00000000 fd:00 11405299                           <APPLICATION>.exe
>> 02136000-0214a000 r--p 01b36000 fd:00 11405299                           <APPLICATION>.exe
>> 0214a000-02336000 rw-p 01b4a000 fd:00 11405299                           <APPLICATION>.exe
>> 02336000-0aa75000 rw-p 00000000 00:00 0                                  [heap]
>> 2aaaaaaab000-2aaaaaacc000 r-xp 00000000 fd:00 25952882                   /usr/lib64/ld-2.17.so <
>> 2aaaaaacc000-2aaaaaace000 r-xp 00000000 00:00 0                          [vdso]
>> 2aaaaaace000-2aaaaaacf000 rw-p 00000000 00:00 0 
>> 2aaaaaacf000-2aaaaaad6000 r--s 00000000 fd:00 26217138                   /usr/lib64/gconv/gconv-modules.cache
>> 2aaaaaad6000-2aaaaaada000 r--s 00000000 fd:00 20054063                   /var/cache/fontconfig/beeeeb3dfe132a8a0633a017c99ce0c0-le64.cache-4
>> 2aaaaaada000-2aaaaaadb000 r--s 00000000 fd:00 20054511                   /var/cache/fontconfig/d04038e664b0033ae700a78c51f179d3-le64.cache-4
>> 2aaaaaadb000-2aaaaaadd000 r--s 00000000 fd:00 20054031                   /var/cache/fontconfig/3640555adad8a8f6978400293cfce7ab-le64.cache-4
>> 2aaaaaadd000-2aaaaaae5000 r--s 00000000 fd:00 20054540                   /var/cache/fontconfig/928306c3ad40271d946e41014a49fc28-le64.cache-4
>> 2aaaaaae5000-2aaaaaae7000 r--s 00000000 fd:00 20054543                   /var/cache/fontconfig/f9d379b867d7c69c85310a4f24e5228f-le64.cache-4
>> 2aaaaaae7000-2aaaaaae9000 r--s 00000000 fd:00 20054549                   /var/cache/fontconfig/99a1ce9f8b6a0434aadb01d3779b0780-le64.cache-4
>> 2aaaaaae9000-2aaaaaaea000 r--s 00000000 fd:00 20054552                   /var/cache/fontconfig/b4d0b56f766d89640448751fcd18ec1e-le64.cache-4
>> 2aaaaaaea000-2aaaaaaec000 r--s 00000000 fd:00 20054523                   /var/cache/fontconfig/d3379abda271c4acd2ad0c01f565d0b0-le64.cache-4
>> 2aaaaaaec000-2aaaaaaed000 r--s 00000000 fd:00 20054532                   /var/cache/fontconfig/e61abf8156cc476151baa07d67337cae-le64.cache-4
>> 2aaaaaaed000-2aaaaab2c000 rw-p 00000000 00:00 0 
>> 2aaaaab2c000-2aaaaab3e000 r--s 00000000 fd:00 20054148                   /var/cache/fontconfig/33315028185e8b9ecf55d3c7f93d9205-le64.cache-4
>> 2aaaaab3e000-2aaaaab49000 r--s 00000000 fd:00 20054146                   /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-4
>> 2aaaaab49000-2aaaaab5c000 r--s 00000000 fd:00 20054533                   /var/cache/fontconfig/614d1caaa4d7914789410f6367de37ca-le64.cache-4
>> 2aaaaab5c000-2aaaaab61000 r--s 00000000 fd:00 20054145                   /var/cache/fontconfig/b67b32625a2bb51b023d3814a918f351-le64.cache-4
>> 2aaaaab61000-2aaaaab62000 r--s 00000000 fd:00 20054531                   /var/cache/fontconfig/3c3fb04d32a5211b073874b125d29701-le64.cache-4
>> 2aaaaab62000-2aaaaab63000 r--s 00000000 fd:00 20054522                   /var/cache/fontconfig/2881ed3fd21ca306ddad6f9b0dd3189f-le64.cache-4
>> 2aaaaab63000-2aaaaab64000 r--s 00000000 fd:00 20054524                   /var/cache/fontconfig/47f48679023f44a4d1e44699a69464f6-le64.cache-4
>> 2aaaaab64000-2aaaaab65000 r--s 00000000 fd:00 20054520                   /var/cache/fontconfig/900402270e15d763a6e008bb2d4c7686-le64.cache-4
>> 2aaaaab65000-2aaaaab66000 r--s 00000000 fd:00 20054536                   /var/cache/fontconfig/df893b4576ad6107f9397134092c4059-le64.cache-4
>> 2aaaaab66000-2aaaaab67000 r--s 00000000 fd:00 20054550                   /var/cache/fontconfig/fa2b533b7056bdadb961f088bc0a978b-le64.cache-4
>> 2aaaaab67000-2aaaaab68000 r--s 00000000 fd:00 20054546                   /var/cache/fontconfig/d290456e58f67f52b0f8f224126f9ea8-le64.cache-4
>> Program received signal SIGABRT, Aborted.
>> 0x00002aaac9f081f7 in raise () from /lib64/libc.so.6
>> Missing separate debuginfos, use: debuginfo-install fontconfig-2.10.95-11.el7.x86_64 freetype-2.4.11-15.el7.x86_64 glibc-2.17-196.el7_4.2.x86_64 libICE-1.0.9-9.el7.x86_64 libSM-1.2.2-2.el7.x86_64 libX11-1.6.5-1.el7.x86_64 libXau-1.0.8-2.1.el7.x86_64 libXcursor-1.1.14-8.el7.x86_64 libXext-1.3.3-3.el7.x86_64 libXfixes-devel-5.0.3-1.el7.x86_64 libXi-1.7.9-1.el7.x86_64 libXmu-1.1.2-2.el7.x86_64 libXrandr-1.5.1-2.el7.x86_64 libXrender-0.9.10-1.el7.x86_64 libXt-1.1.5-3.el7.x86_64 libjpeg-turbo-1.2.90-5.el7.x86_64 libuuid-2.23.2-43.el7_4.2.x86_64 libxcb-1.12-1.el7.x86_64
>> (gdb) bt
>> #0  0x00002aaac9f081f7 in raise () from /lib64/libc.so.6
>> #1  0x00002aaac9f098e8 in abort () from /lib64/libc.so.6
>> #2  0x00002aaac9f47f47 in __libc_message () from /lib64/libc.so.6
>> #3  0x00002aaac9f4f619 in _int_free () from /lib64/libc.so.6
>> #4  0x0000000000879dab in CORBA::Object::_decr_refcount (this=0xaa12810) at <thirdparty_libs>/ace_tao/include/tao/Object.inl:86
>> #5  0x000000000087c27d in CORBA::release<CORBA::Object*> (x=0xaa12810) at <thirdparty_libs>/ace_tao/include/tao/CORBA_methods.h:58
>> #6  0x0000000000878c97 in TAO_Pseudo_Var_T<CORBA::Object>::~TAO_Pseudo_Var_T (this=0x7fffffff80f8)
>>     at <thirdparty_libs>/ace_tao/include/tao/Pseudo_VarOut_T.inl:29
>> #7  0x00002aaab52c8fa4 in <POA_GENERATED_NAMESPACE>::<GENERATEDCLASS>::_this (this=0xa805180) at <GENERATED_FROM_IDL_FILE>.cpp:871
>> #8  0x00002aaab5312932 in _INTERNAL56c1011e::RegisterName (impl=0xa805180, context=0x2aaab544fadc "<CONTEXT>", name=0x7fffffffb0f4 "<SERVERNAME>", type=0x2aaab544faf0 "<TYPE/KIND>")
>>     at CorbaInit.cpp:116
>> #9  0x00002aaab5313355 in CorbaStartServer (serverName=0x7fffffffb0f4 "<SERVERNAME>") at CorbaInit.cpp:263
>> #10 0x00002aaab535331b in <APPLICATION_MODULE>::initialise (this=0xa76be20, argc=@0x7fffffffa588: 1, argv=0x7fffffffa798) at <APPLICATION_MODULE>.cpp:45
>> #11 0x0000000000566ebd in _INTERNAL7e6e1e8c::StartModules (modules=..., argc=@0x7fffffffa588: 1, argv=0x7fffffffa798) at ../Main.cpp:1033
>> #12 0x0000000000565db5 in DYNAMO_MAIN (argc=1, argv=0x7fffffffa798) at ../FeMain.cpp:420
>> #13 0x00000000005664bc in main (argc=15, argv=0x7fffffffa798) at ../FeMain.cpp:592
>>
>> I had to replace some of the functions/file names...
>> The generated _this method looks now (6.5.7) like:
>> <NAMESPACE>::<CLASS> *
>> And crashes on the return of the new one.
>> The application I'm trying to upgrade is very old, and I'm not that
>> familiar with ACE/TAO. I confirmed that the code is following the
>> example described here:
>> http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/docs/tutorials/Quoter/Naming_Service/index.html
>>
>>     REPEAT BY:
>> I test everything locally, no extra servers, and the old version of ACE TAO works without problems.
>> If anyone can point me in the right direction, that would be very much appreciated!
>> Regards,
>> Yorick Bosman
>>
>> _______________________________________________
>> ace-users mailing list
>> ace-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/ace-users


More information about the ace-users mailing list