Native Client Memory Leak when Different Threads Repeadtedly Call tpinit()
(Doc ID 2953681.1)
Last updated on JUNE 11, 2023
Applies to:
Oracle Tuxedo - Version 12.2.2 and laterInformation in this document applies to any platform.
Symptoms
Native Client memory leak when calling tpinit()/tpterm() in a thread. If the thread create and destroy repeatedly, process memory growth.
Here is the leaked memory block by valgrind.
==3936== 112,097 (1,440 direct, 110,657 indirect) bytes in 9 blocks are
definitely lost in loss record 515 of 519
==3936== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==3936== by 0x59AEB73: sys_malloc (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58EB186: R_MEM_zmalloc (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x5943900: ri_cr_new (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58E8BAC: ri_cr_ctx_ctrl (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58E65B3: R_CR_new_ef (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58E4A20: ztca_RSAAdpRNGInit (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFD0A: ztca_rsaAdpCreateCtx (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFAEF: ztca_RSAAdpCreateCtx (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFA13: ztca_Init (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DDCB7: ztca_GetRandomMC (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DDC64: ztca_GetRandom (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936==
==3936== 132,152 (1,080 direct, 131,072 indirect) bytes in 9 blocks are
definitely lost in loss record 517 of 519
==3936== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==3936== by 0x59AEB73: sys_malloc (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58EB186: R_MEM_zmalloc (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x5945681: R_LIB_CTX_new_ef (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFBDF: ztca_rsaAdpCreateCtx (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFAEF: ztca_RSAAdpCreateCtx (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DFA13: ztca_Init (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DDCB7: ztca_GetRandomMC (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DDC64: ztca_GetRandom (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DCE1B: ztcr2rnd (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x58DCD77: ztcr2ub4 (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x5881C5A: _e_cryp_rand (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
=3936== 340 bytes in 10 blocks are definitely lost in loss record 335 of 519
==3936== at 0x4A069EE: malloc (vg_replace_malloc.c:270)
==3936== by 0x5868009: _e_gp_newalogpfx (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x586759A: _e_gp_doalog (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libengine.so)
==3936== by 0x4C8FFE5: accesslog (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libtux.so)
==3936== by 0x4C776EC: _tminit (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libtux.so)
==3936== by 0x4C781A1: _tpinit (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libtux.so)
==3936== by 0x4DABB53: tpinit (in
/refresh/home/OraHome_1/tuxedo12.2.2.0.0/lib/libtux.so)
==3936== by 0x4008F0: tux_client (in /refresh/home/case/leaktest)
==3936== by 0x3D876079D0: start_thread (in /lib64/libpthread-2.12.so)
==3936== by 0x3D86EE8B6C: clone (in /lib64/libc-2.12.so)
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |