You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2015/03/05 14:58:55 UTC

[dispatch] Memory errors discovered by disabling pools

I've got a patch for disabling memory pooling in dispatch, see the JIRA:

DISPATCH-121: Allow pool allocation to be switched for plain allocation
at build time.

The idea is to get better info from tools like valgrind. This shows up a
leak in the unit_tests, which may be a test bug:

==30007==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==30007==    by 0x4C3EB9A: new_qd_connection_t (server.c:42)
==30007==    by 0x4C421C0: qd_user_fd (server.c:1200)
==30007==    by 0x40347E: test_user_fd (server_test.c:117)
==30007==    by 0x40359F: server_tests (server_test.c:143)
==30007==    by 0x40312A: main (run_unit_tests.c:49)
==30007== 
==30007== 200 (152 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 3,144 of 4,960
==30007==    at 0x4A0645D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==30007==    by 0x4C3EB9A: new_qd_connection_t (server.c:42)
==30007==    by 0x4C421C0: qd_user_fd (server.c:1200)
==30007==    by 0x4034A1: test_user_fd (server_test.c:118)
==30007==    by 0x40359F: server_tests (server_test.c:143)
==30007==    by 0x40312A: main (run_unit_tests.c:49)
==30007== 

But also there are invalid read errors in system tests. Attached are those from system_tests_two_routers

I'm looking at these, anyone who's interested in helping that would be great :)