- **Comment**:

Reproduced in develop branch. 
~~~
==487== Invalid read of size 1
==487==    at 0x4843B60: __memcpy_chk (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==487==    by 0x4891FE3: memcpy (string_fortified.h:34)
==487==    by 0x4891FE3: ncs_patricia_tree_getnext (patricia.c:491)
==487==    by 0x48AADF8: mds_subtn_res_tbl_query_next_active (mds_c_db.c:2681)
==487==    by 0x48BBC7D: mds_svc_op_vdest_mxn_active_delete (mds_svc_op.c:1199)
==487==    by 0x48BBC7D: mds_svc_op_down (mds_svc_op.c:861)
==487==    by 0x48A60DB: mds_mcm_svc_down (mds_c_api.c:1305)
==487==    by 0x48B68EF: mds_mdtm_process_recvdata (mds_dt_trans.c:1150)
==487==    by 0x48B78DE: mdtm_process_poll_recv_data_tcp (mds_dt_trans.c:903)
==487==    by 0x48B7D0E: mdtm_process_recv_events_tcp (mds_dt_trans.c:995)
==487==    by 0x48FE608: start_thread (pthread_create.c:477)
==487==    by 0x4A38132: clone (clone.S:95)
==487==  Address 0x4eb04c7 is 55 bytes inside a block of size 408 free'd
==487==    at 0x483CA3F: free (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)==487==    
by 0x48AA282: mds_subtn_res_tbl_del (mds_c_db.c:2051)
==487==    by 0x48B99F8: mds_svc_op_subtn_res_tbl_del (mds_svc_op.c:1667)
==487==    by 0x48BBA3A: mds_svc_op_vdest_mxn_active_delete (mds_svc_op.c:1169)
==487==    by 0x48BBA3A: mds_svc_op_down (mds_svc_op.c:861)
==487==    by 0x48A60DB: mds_mcm_svc_down (mds_c_api.c:1305)
==487==    by 0x48B68EF: mds_mdtm_process_recvdata (mds_dt_trans.c:1150)
==487==    by 0x48B78DE: mdtm_process_poll_recv_data_tcp (mds_dt_trans.c:903)
==487==    by 0x48B7D0E: mdtm_process_recv_events_tcp (mds_dt_trans.c:995)
==487==    by 0x48FE608: start_thread (pthread_create.c:477)
==487==    by 0x4A38132: clone (clone.S:95)
==487==  Block was alloc'd at
==487==    at 0x483DD99: calloc (in 
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==487==    by 0x48A9F76: mds_subtn_res_tbl_add (mds_c_db.c:1857)
==487==    by 0x48B9980: mds_svc_op_subtn_res_tbl_add (mds_svc_op.c:1660)
==487==    by 0x48BB401: mds_svc_op_vdest_mxn_active_add (mds_svc_op.c:906)
==487==    by 0x48BB401: mds_svc_op_up (mds_svc_op.c:726)
==487==    by 0x48A604B: mds_mcm_svc_up (mds_c_api.c:1266)
==487==    by 0x48B678F: mds_mdtm_process_recvdata (mds_dt_trans.c:1137)
==487==    by 0x48B78DE: mdtm_process_poll_recv_data_tcp (mds_dt_trans.c:903)
==487==    by 0x48B7D0E: mdtm_process_recv_events_tcp (mds_dt_trans.c:995)
==487==    by 0x48FE608: start_thread (pthread_create.c:477)
==487==    by 0x4A38132: clone (clone.S:95)
~~~
Reproduce steps:
1. Apply the test case patch
2. Build and deploy OpenSAF.
3. Run the following command inside a node:
`valgrind --error-exitcode=1  --leak-check=no  mdstest 4 13`



---

** [tickets:#3324] mds: valgrind detected an invalid read**

**Status:** assigned
**Milestone:** 5.22.11
**Created:** Mon Oct 31, 2022 07:04 AM UTC by Hieu Hong Hoang
**Last Updated:** Mon Oct 31, 2022 07:18 AM UTC
**Owner:** Hieu Hong Hoang


Valgrind has detected an invalid read from OpenSAF 5.22.06

* Invalid read:
~~~
Object  /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so
Function        __memcpy_chk
File/Line       


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        memcpy
File/Line       /usr/include/bits/string3.h:53


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        ncs_patricia_tree_getnext
File/Line       opensaf/src/base/patricia.c:491


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mds_subtn_res_tbl_query_next_active
File/Line       opensaf/src/mds/mds_c_db.c:2680


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mds_mcm_svc_down
File/Line       opensaf/src/mds/mds_c_api.c:3862


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mdtm_process_discovery_events
File/Line       opensaf/src/mds/mds_dt_tipc.c:1431


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mdtm_process_recv_events
File/Line       opensaf/src/mds/mds_dt_tipc.c:943


Object  /lib64/libpthread-2.22.so
Function        start_thread
File/Line       


Object  /lib64/libc-2.22.so
Function        clone
File/Line       
~~~

* Memory is freed:
~~~
Object  /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so
Function        free
File/Line       


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mds_subtn_res_tbl_del
File/Line       opensaf/src/mds/mds_c_db.c:2051


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mds_mcm_svc_down
File/Line       opensaf/src/mds/mds_c_api.c:3862


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mdtm_process_discovery_events
File/Line       opensaf/src/mds/mds_dt_tipc.c:1431


Object  /usr/lib64/libopensaf_core.so.0.2.0
Function        mdtm_process_recv_events
File/Line       opensaf/src/mds/mds_dt_tipc.c:943


Object  /lib64/libpthread-2.22.so
Function        start_thread
File/Line       


Object  /lib64/libc-2.22.so
Function        clone
File/Line       
~~~




---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to