Valgrind is reporting memory leak in freeradius 2.2.6
Hi , The below is the valgrind leak summary for freeradius, Its part of our WiFi controller, being used as radiusproxy there. The upgrade of freeradius version is out of question due to many reasons :-(. Need to fix via patch here or conclude as valgrind reported false positives. ==31435== 1,104 (136 direct, 968 indirect) bytes in 1 blocks are definitely lost in loss record 619 of 653 ==31435== at 0x4C2D03B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31435== by 0x4301C7: rad_malloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x41F116: listen_alloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x41F3C2: proxy_new_listener (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x4475F9: home_server_create_callback (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x5297D11: WalkNodeInOrder (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x5297CDF: WalkNodeInOrder (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x5297CDF: WalkNodeInOrder (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x5297CDF: WalkNodeInOrder (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x5297E92: rbtree_walk (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x447649: home_server_create_listeners (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x420133: listen_init (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== 294,029 (16,640 direct, 277,389 indirect) bytes in 40 blocks are definitely lost in loss record 652 of 653 ==31435== at 0x4C2D03B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31435== by 0x4301C7: rad_malloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43024B: request_alloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43CC7A: received_request (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x418411: acct_socket_recv (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43DBC4: event_socket_handler (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x52A0760: fr_event_loop (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x43E3F1: radius_event_process (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x4297C0: main (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== 294,029 (16,640 direct, 277,389 indirect) bytes in 40 blocks are definitely lost in loss record 652 of 653 ==31435== at 0x4C2D03B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31435== by 0x4301C7: rad_malloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43024B: request_alloc (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43CC7A: received_request (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x418411: acct_socket_recv (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x43DBC4: event_socket_handler (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x52A0760: fr_event_loop (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/lib/libfreeradius-radius-020206.so) ==31435== by 0x43E3F1: radius_event_process (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) ==31435== by 0x4297C0: main (in /opt/wifi_dev/wlc_merge/wlc_trunk_merge/opensource/Radius/deliverydir/sbin/radiusd) Please help, if any known memory leak issue already there. Or pls share what are the data structures here which are not properly freed. appreciate the support :-). Thanks and regards Ahmed
On Fri, 2019-04-05 at 15:50 +0530, Dextrous bg wrote:
The upgrade of freeradius version is out of question due to many reasons :-(.
That's nice.
Need to fix via patch here or conclude as valgrind reported false positives.
Nobody's interested in debugging possible issues in obsolete and unsupported versions. I suggest you try the latest version and see if you still see the same thing. You could at least try 2.2.10 which is config-compatible. Otherwise you'll need to upgrade to version 3. -- Matthew
On Apr 5, 2019, at 6:20 AM, Dextrous bg <ahmednifaz@gmail.com> wrote:
The below is the valgrind leak summary for freeradius, Its part of our WiFi controller, being used as radiusproxy there. The upgrade of freeradius version is out of question due to many reasons :-(. Need to fix via patch here or conclude as valgrind reported false positives.
So you're not willing to upgrade to a supported version. But you want us to track down *again* and fix *again* bugs which were tracked down and fixed years ago. No, that's not the right thing to ask.
Please help, if any known memory leak issue already there. Or pls share what are the data structures here which are not properly freed. appreciate the support :-).
Smily faces don't make your request any more appropriate. It's open source. No one is getting paid to help you. (a) Install 2.2.10 (b) fix it yourself (c) live with it Pick one. These are your only choices. It is really not appropriate to demand that other people work for free when you're not willing to do anything yourself. Alan DeKok.
participants (3)
-
Alan DeKok -
Dextrous bg -
Matthew Newton