- **Comment**:
Hi Tai,
Invalid read due to the callback record was deleted in
avnd_comp_cbq_rec_pop_and_del().
So avnd_comp_cbq_rec_pop_and_del() need to return code and the timer whether
stop based on this return code.
B.R/Thang
---
**[tickets:#3339] amf: Valgrind reported errors**
**Status:** review
**Milestone:** 5.23.07
**Created:** Thu May 18, 2023 03:10 AM UTC by Nguyen Huynh Tai
**Last Updated:** Thu May 18, 2023 10:02 AM UTC
**Owner:** Nguyen Huynh Tai
Verify valgrind result
/var/lib/lxc/PL-3/rootfs/var/log/opensaf/amfnd.valgrind
==371== 1 errors in context 1 of 8:
==371== Invalid read of size 1
==371== at 0x11A8D9: avnd_evt_ava_resp_evh(avnd_cb_tag*, avnd_evt_tag*)
(cbq.cc:436)
==371== by 0x141D25: avnd_evt_process (main.cc:692)
==371== by 0x141D25: avnd_main_process() (main.cc:644)
==371== by 0x1170AD: main (main.cc:225)
==371== Address 0x8bab6c0 is 48 bytes inside a block of size 112 free'd
==371== at 0x4C3323B: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x11962B: avnd_comp_cbq_rec_pop_and_del(avnd_cb_tag*,
avnd_comp_tag*, unsigned int, bool) (cbq.cc:973)
==371== by 0x11A8D8: avnd_evt_ava_resp_evh(avnd_cb_tag*, avnd_evt_tag*)
(cbq.cc:435)
==371== by 0x141D25: avnd_evt_process (main.cc:692)
==371== by 0x141D25: avnd_main_process() (main.cc:644)
==371== by 0x1170AD: main (main.cc:225)
==371== Block was alloc'd at
==371== at 0x4C3217F: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x11B586: avnd_comp_cbq_rec_add(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_info_tag*, unsigned long*, long long) (cbq.cc:998)
==371== by 0x11B6DB: avnd_comp_cbq_send(avnd_cb_tag*, avnd_comp_tag*,
unsigned long*, unsigned long long, avsv_amf_cbk_info_tag*, long long)
(cbq.cc:757)
==371== by 0x12ABD9: avnd_comp_cbk_send(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_type, avnd_hc_rec_tag*, avnd_comp_csi_rec*) (comp.cc:2202)
==371== by 0x151C47: avnd_process_comp_csi_msg (su.cc:986)
==371== by 0x151C47: avnd_evt_avd_compcsi_evh(avnd_cb_tag*, avnd_evt_tag*)
(su.cc:1068)
==371== by 0x141D25: avndevtprocess (main.cc:692)
--
==371== 1 errors in context 2 of 8:
==371== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==371== at 0x5F1DA9E: send (send.c:28)
==371== by 0x572F596: mds_sock_send (mds_dt_trans.c:79)
==371== by 0x572F92E: mds_mdtm_send_tcp (mds_dt_trans.c:650)
==371== by 0x5724AD6: mcm_msg_encode_full_or_flat_and_send
(mds_c_sndrcv.c:1774)
==371== by 0x57261B6: mds_mcm_send_msg_enc (mds_c_sndrcv.c:1255)
==371== by 0x572874C: mcm_pvt_normal_snd_process_common (mds_c_sndrcv.c:1194)
==371== by 0x5729323: mcm_pvt_normal_svc_snd (mds_c_sndrcv.c:1017)
==371== by 0x5729323: mds_mcm_send (mds_c_sndrcv.c:781)
==371== by 0x5729323: mds_send (mds_c_sndrcv.c:458)
==371== by 0x5731FDB: ncsmds_api (mds_papi.c:165)
==371== by 0x143FB3: avnd_mds_send(avnd_cb_tag*, avnd_msg*, unsigned long*,
mds_sync_snd_ctxt*) (mds.cc:1555)
==371== by 0x119293: avnd_comp_cbq_rec_send(avnd_cb_tag*, avnd_comp_tag*,
avnd_cbk_tag*, bool) (cbq.cc:867)
==371== by 0x11B772: avnd_comp_cbq_send(avnd_cb_tag*, avnd_comp_tag*,
unsigned long*, unsigned long long, avsv_amf_cbk_info_tag*, long long)
(cbq.cc:768)
==371== by 0x12ABD9: avnd_comp_cbk_send(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_type, avnd_hc_rec_tag*, avnd_comp_csi_rec*) (comp.cc:2202)
==371== Address 0x8bae2f8 is 712 bytes inside a block of size 1,770 alloc'd
==371== at 0x4C33B25: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x572F878: mds_mdtm_send_tcp (mds_dt_trans.c:600)
==371== by 0x5724AD6: mcm_msg_encode_full_or_flat_and_send
(mds_c_sndrcv.c:1774)
==371== by 0x57261B6: mds_mcm_send_msg_enc (mds_c_sndrcv.c:1255)
/var/lib/lxc/PL-4/rootfs/var/log/opensaf/amfnd.valgrind
==371== 1 errors in context 1 of 8:
==371== Invalid read of size 1
==371== at 0x11A8D9: avnd_evt_ava_resp_evh(avnd_cb_tag*, avnd_evt_tag*)
(cbq.cc:436)
==371== by 0x141D25: avnd_evt_process (main.cc:692)
==371== by 0x141D25: avnd_main_process() (main.cc:644)
==371== by 0x1170AD: main (main.cc:225)
==371== Address 0x8baf080 is 48 bytes inside a block of size 112 free'd
==371== at 0x4C3323B: operator delete(void*) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x11962B: avnd_comp_cbq_rec_pop_and_del(avnd_cb_tag*,
avnd_comp_tag*, unsigned int, bool) (cbq.cc:973)
==371== by 0x11A8D8: avnd_evt_ava_resp_evh(avnd_cb_tag*, avnd_evt_tag*)
(cbq.cc:435)
==371== by 0x141D25: avnd_evt_process (main.cc:692)
==371== by 0x141D25: avnd_main_process() (main.cc:644)
==371== by 0x1170AD: main (main.cc:225)
==371== Block was alloc'd at
==371== at 0x4C3217F: operator new(unsigned long) (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x11B586: avnd_comp_cbq_rec_add(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_info_tag*, unsigned long*, long long) (cbq.cc:998)
==371== by 0x11B6DB: avnd_comp_cbq_send(avnd_cb_tag*, avnd_comp_tag*,
unsigned long*, unsigned long long, avsv_amf_cbk_info_tag*, long long)
(cbq.cc:757)
==371== by 0x12ABD9: avnd_comp_cbk_send(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_type, avnd_hc_rec_tag*, avnd_comp_csi_rec*) (comp.cc:2202)
==371== by 0x151C47: avnd_process_comp_csi_msg (su.cc:986)
==371== by 0x151C47: avnd_evt_avd_compcsi_evh(avnd_cb_tag*, avnd_evt_tag*)
(su.cc:1068)
## ==371== by 0x141D25: avnd_evt_process (main.cc:692)
--
==371== 1 errors in context 2 of 8:
==371== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==371== at 0x5F1DA9E: send (send.c:28)
==371== by 0x572F596: mds_sock_send (mds_dt_trans.c:79)
==371== by 0x572F92E: mds_mdtm_send_tcp (mds_dt_trans.c:650)
==371== by 0x5724AD6: mcm_msg_encode_full_or_flat_and_send
(mds_c_sndrcv.c:1774)
==371== by 0x57261B6: mds_mcm_send_msg_enc (mds_c_sndrcv.c:1255)
==371== by 0x572874C: mcm_pvt_normal_snd_process_common (mds_c_sndrcv.c:1194)
==371== by 0x5729323: mcm_pvt_normal_svc_snd (mds_c_sndrcv.c:1017)
==371== by 0x5729323: mds_mcm_send (mds_c_sndrcv.c:781)
==371== by 0x5729323: mds_send (mds_c_sndrcv.c:458)
==371== by 0x5731FDB: ncsmds_api (mds_papi.c:165)
==371== by 0x143FB3: avnd_mds_send(avnd_cb_tag*, avnd_msg*, unsigned long*,
mds_sync_snd_ctxt*) (mds.cc:1555)
==371== by 0x119293: avnd_comp_cbq_rec_send(avnd_cb_tag*, avnd_comp_tag*,
avnd_cbk_tag*, bool) (cbq.cc:867)
==371== by 0x11B772: avnd_comp_cbq_send(avnd_cb_tag*, avnd_comp_tag*,
unsigned long*, unsigned long long, avsv_amf_cbk_info_tag*, long long)
(cbq.cc:768)
==371== by 0x12ABD9: avnd_comp_cbk_send(avnd_cb_tag*, avnd_comp_tag*,
avsv_amf_cbk_type, avnd_hc_rec_tag*, avnd_comp_csi_rec*) (comp.cc:2202)
==371== Address 0x8bb1cb8 is 712 bytes inside a block of size 1,770 alloc'd
==371== at 0x4C33B25: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==371== by 0x572F878: mds_mdtm_send_tcp (mds_dt_trans.c:600)
==371== by 0x5724AD6: mcm_msg_encode_full_or_flat_and_send
(mds_c_sndrcv.c:1774)
==371== by 0x57261B6: mds_mcm_send_msg_enc (mds_c_sndrcv.c:1255)
---
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