Hi, hm. Did that, below. Maybe it's worth mentioning that those sockets which are being closed never were connected to a real mysql server - it's a test machine with no access to the real MySQL. I.e. on startup all these socket connection attempts ended with: rlm_sql Creating new attribute sql-imap-SQL-Group rlm_sql (sql-imap): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked rlm_sql (sql-imap): Attempting to connect to user@server:3306/radius_internal rlm_sql (sql-imap): starting 0 rlm_sql (sql-imap): Attempting to connect rlm_sql_mysql #0 rlm_sql_mysql: Starting connect to MySQL server for #0 rlm_sql_mysql: Couldn't connect socket to MySQL server user@server:radius_internal rlm_sql_mysql: Mysql error 'Host 'testmachine' is not allowed to connect to this MariaDB server' rlm_sql (sql-imap): Failed to connect DB handle #0 rlm_sql (sql-imap): starting 1 rlm_sql (sql-imap): starting 2 rlm_sql (sql-imap): starting 3 rlm_sql (sql-imap): starting 4 rlm_sql (sql-imap): starting 5 rlm_sql (sql-imap): starting 6 rlm_sql (sql-imap): starting 7 rlm_sql (sql-imap): Failed to connect to any SQL server. Anyway, here's the valgrind output: # valgrind --trace-children=yes --track-origins=yes --leak-check=full -v ./radiusd -X Ready to process requests. Signalled to terminate Exiting normally. --7872-- Discarding syms at 0x7b33330-0x7b35be4 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_eap_tls-2.2.1.so due to munmap() --7872-- Discarding syms at 0x813a4f0-0x813c188 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_eap_ttls-2.2.1.so due to munmap() --7872-- Discarding syms at 0x83406e0-0x8343004 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_eap_peap-2.2.1.so due to munmap() --7872-- Discarding syms at 0x8546ec0-0x8547c6c in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_eap_mschapv2-2.2.1.so due to munmap() rlm_sql (sql-aai): Closing sqlsocket 4 rlm_sql (sql-aai): Closing sqlsocket 3 rlm_sql (sql-aai): Closing sqlsocket 2 rlm_sql (sql-aai): Closing sqlsocket 1 rlm_sql (sql-aai): Closing sqlsocket 0 rlm_sql (sql-imap): Closing sqlsocket 7 rlm_sql (sql-imap): Closing sqlsocket 6 rlm_sql (sql-imap): Closing sqlsocket 5 rlm_sql (sql-imap): Closing sqlsocket 4 rlm_sql (sql-imap): Closing sqlsocket 3 rlm_sql (sql-imap): Closing sqlsocket 2 rlm_sql (sql-imap): Closing sqlsocket 1 rlm_sql (sql-imap): Closing sqlsocket 0 rlm_sql (sql-eduroam): Closing sqlsocket 1 rlm_sql (sql-eduroam): Closing sqlsocket 0 rlm_sql (sql-dialup): Closing sqlsocket 1 rlm_sql (sql-dialup): Closing sqlsocket 0 rlm_sql (sql-imap-hash): Closing sqlsocket 7 rlm_sql (sql-imap-hash): Closing sqlsocket 6 rlm_sql (sql-imap-hash): Closing sqlsocket 5 rlm_sql (sql-imap-hash): Closing sqlsocket 4 rlm_sql (sql-imap-hash): Closing sqlsocket 3 rlm_sql (sql-imap-hash): Closing sqlsocket 2 rlm_sql (sql-imap-hash): Closing sqlsocket 1 rlm_sql (sql-imap-hash): Closing sqlsocket 0 rlm_sql (sql-userjabber): Closing sqlsocket 1 rlm_sql (sql-userjabber): Closing sqlsocket 0 rlm_sql (sql-smtp): Closing sqlsocket 2 rlm_sql (sql-smtp): Closing sqlsocket 1 rlm_sql (sql-smtp): Closing sqlsocket 0 rlm_sql (sql-webmailsso): Closing sqlsocket 1 rlm_sql (sql-webmailsso): Closing sqlsocket 0 rlm_sql (sql-webmailsso-users): Closing sqlsocket 9 rlm_sql (sql-webmailsso-users): Closing sqlsocket 8 rlm_sql (sql-webmailsso-users): Closing sqlsocket 7 rlm_sql (sql-webmailsso-users): Closing sqlsocket 6 rlm_sql (sql-webmailsso-users): Closing sqlsocket 5 rlm_sql (sql-webmailsso-users): Closing sqlsocket 4 rlm_sql (sql-webmailsso-users): Closing sqlsocket 3 rlm_sql (sql-webmailsso-users): Closing sqlsocket 2 rlm_sql (sql-webmailsso-users): Closing sqlsocket 1 rlm_sql (sql-webmailsso-users): Closing sqlsocket 0 rlm_sql (sql-vpn): Closing sqlsocket 1 rlm_sql (sql-vpn): Closing sqlsocket 0 --7872-- Discarding syms at 0xa5869c0-0xa586c84 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_always-2.2.1.so due to munmap() --7872-- Discarding syms at 0x894f8d0-0x894fdac in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_chap-2.2.1.so due to munmap() --7872-- Discarding syms at 0x771b3e0-0x771e2d0 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_eap-2.2.1.so due to munmap() --7872-- Discarding syms at 0x7925130-0x7929398 in /usr/local/freeradius/2.2.1-pre3/lib64/libfreeradius-eap-2.2.1.so due to munmap() --7872-- Discarding syms at 0x8b53620-0x8b54308 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_detail-2.2.1.so due to munmap() --7872-- Discarding syms at 0xaf9dfb0-0xaf9ea44 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_files-2.2.1.so due to munmap() --7872-- Discarding syms at 0x7311340-0x7312894 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_expr-2.2.1.so due to munmap() --7872-- Discarding syms at 0xab92680-0xab952e0 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_mschap-2.2.1.so due to munmap() --7872-- Discarding syms at 0xa98e000-0xa98e808 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_linelog-2.2.1.so due to munmap() --7872-- Discarding syms at 0xad99d20-0xad9a6b0 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_realm-2.2.1.so due to munmap() --7872-- Discarding syms at 0xa78a1c0-0xa78abdc in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_sql_log-2.2.1.so due to munmap() --7872-- Discarding syms at 0x8d596f0-0x8d5d5fc in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_sql-2.2.1.so due to munmap() --7872-- Discarding syms at 0x874b2f0-0x874cc88 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_pap-2.2.1.so due to munmap() --7872-- Discarding syms at 0x7515e00-0x75167f8 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_exec-2.2.1.so due to munmap() --7872-- Discarding syms at 0x8f62de0-0x8f637d0 in /usr/local/freeradius/2.2.1-pre3/lib64/rlm_sql_mysql-2.2.1.so due to munmap() --7872-- Discarding syms at 0x9190db0-0x91d8d3c in /usr/lib64/libmysqlclient.so.18.0.0 due to munmap() --7872-- Discarding syms at 0x96706a0-0x96d8f08 in /lib64/libm-2.17.so due to munmap() ==7872== Invalid read of size 8 ==7872== at 0x41DEB8: modcallable_free (modcall.c:2242) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41B00C: indexed_modcallable_free (modules.c:308) ==7872== by 0x4E45DFC: FreeWalker (rbtree.c:63) ==7872== by 0x4E45DED: FreeWalker (rbtree.c:61) ==7872== by 0x4E4618C: rbtree_free (rbtree.c:74) ==7872== by 0x41AFD6: virtual_server_free (modules.c:264) ==7872== by 0x41BCF1: virtual_servers_free (modules.c:296) ==7872== by 0x41AB3C: free_mainconfig (mainconfig.c:1000) ==7872== by 0x409FDD: main (radiusd.c:472) ==7872== Address 0x2527285345554c49 is not stack'd, malloc'd or (recently) free'd ==7872== ==7872== ==7872== Process terminating with default action of signal 11 (SIGSEGV) ==7872== General Protection Fault ==7872== at 0x41DEB8: modcallable_free (modcall.c:2242) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41B00C: indexed_modcallable_free (modules.c:308) ==7872== by 0x4E45DFC: FreeWalker (rbtree.c:63) ==7872== by 0x4E45DED: FreeWalker (rbtree.c:61) ==7872== by 0x4E4618C: rbtree_free (rbtree.c:74) ==7872== by 0x41AFD6: virtual_server_free (modules.c:264) ==7872== by 0x41BCF1: virtual_servers_free (modules.c:296) ==7872== by 0x41AB3C: free_mainconfig (mainconfig.c:1000) ==7872== by 0x409FDD: main (radiusd.c:472) --7872-- Discarding syms at 0x6cf13b0-0x6cf5c38 in /lib64/libnss_compat-2.17.so due to munmap() --7872-- Discarding syms at 0x6efa200-0x6f00314 in /lib64/libnss_nis-2.17.so due to munmap() --7872-- Discarding syms at 0x7105230-0x710c13c in /lib64/libnss_files-2.17.so due to munmap() --7872-- Discarding syms at 0xa381100-0xa383ee4 in /lib64/libnss_dns-2.17.so due to munmap() ==7872== ==7872== HEAP SUMMARY: ==7872== in use at exit: 1,642,660 bytes in 33,105 blocks ==7872== total heap usage: 42,300 allocs, 9,195 frees, 3,171,199 bytes allocated ==7872== ==7872== Searching for pointers to 33,105 not-freed blocks ==7872== Checked 2,214,536 bytes ==7872== ==7872== 24 bytes in 1 blocks are definitely lost in loss record 547 of 904 ==7872== at 0x4C2C27B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==7872== by 0x91C52FF: ??? ==7872== by 0x91C16D9: ??? ==7872== by 0x919319C: ??? ==7872== by 0x919953E: ??? ==7872== by 0x8F630B5: ??? ==7872== by 0x8D5C76D: ??? ==7872== by 0x8D5C946: ??? ==7872== by 0x8D5A7D1: ??? ==7872== by 0x41BF88: find_module_instance (modules.c:620) ==7872== by 0x41E4F3: do_compile_modsingle (modcall.c:1925) ==7872== by 0x41E178: do_compile_modgroup (modcall.c:2146) ==7872== ==7872== 152 bytes in 1 blocks are definitely lost in loss record 703 of 904 ==7872== at 0x4C2C27B: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==7872== by 0x91C52FF: ??? ==7872== by 0x91C082D: ??? ==7872== by 0x91A3433: ??? ==7872== by 0x91931A3: ??? ==7872== by 0x919953E: ??? ==7872== by 0x8F630B5: ??? ==7872== by 0x8D5C76D: ??? ==7872== by 0x8D5C946: ??? ==7872== by 0x8D5A7D1: ??? ==7872== by 0x41BF88: find_module_instance (modules.c:620) ==7872== by 0x41E4F3: do_compile_modsingle (modcall.c:1925) ==7872== ==7872== LEAK SUMMARY: ==7872== definitely lost: 176 bytes in 2 blocks ==7872== indirectly lost: 0 bytes in 0 blocks ==7872== possibly lost: 0 bytes in 0 blocks ==7872== still reachable: 1,642,484 bytes in 33,103 blocks ==7872== suppressed: 0 bytes in 0 blocks ==7872== Reachable blocks (those to which a pointer was found) are not shown. ==7872== To see them, rerun with: --leak-check=full --show-reachable=yes ==7872== ==7872== ERROR SUMMARY: 23 errors from 4 contexts (suppressed: 2 from 2) ==7872== ==7872== 1 errors in context 1 of 4: ==7872== Invalid read of size 8 ==7872== at 0x41DEB8: modcallable_free (modcall.c:2242) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41DEC5: modcallable_free (modcall.c:2243) ==7872== by 0x41B00C: indexed_modcallable_free (modules.c:308) ==7872== by 0x4E45DFC: FreeWalker (rbtree.c:63) ==7872== by 0x4E45DED: FreeWalker (rbtree.c:61) ==7872== by 0x4E4618C: rbtree_free (rbtree.c:74) ==7872== by 0x41AFD6: virtual_server_free (modules.c:264) ==7872== by 0x41BCF1: virtual_servers_free (modules.c:296) ==7872== by 0x41AB3C: free_mainconfig (mainconfig.c:1000) ==7872== by 0x409FDD: main (radiusd.c:472) ==7872== Address 0x2527285345554c49 is not stack'd, malloc'd or (recently) free'd ==7872== ==7872== ==7872== 20 errors in context 2 of 4: ==7872== Syscall param �� points to uninitialised byte(s) ==7872== at 0x6416DEB: sendmmsg (in /lib64/libc-2.17.so) ==7872== by 0x527F2CE: __libc_res_nsend (in /lib64/libresolv-2.17.so) ==7872== by 0x527CB8B: __libc_res_nquery (in /lib64/libresolv-2.17.so) ==7872== by 0x527D147: __libc_res_nquerydomain (in /lib64/libresolv-2.17.so) ==7872== by 0x527D733: __libc_res_nsearch (in /lib64/libresolv-2.17.so) ==7872== by 0xA382A55: ??? ==7872== by 0x63FF499: gaih_inet (in /lib64/libc-2.17.so) ==7872== by 0x6402770: getaddrinfo (in /lib64/libc-2.17.so) ==7872== by 0x919AF78: ??? ==7872== by 0x8F6314F: ??? ==7872== by 0x8D5C76D: ??? ==7872== by 0x8D5C946: ??? ==7872== Address 0x7feffd210 is on thread 1's stack ==7872== Uninitialised value was created by a stack allocation ==7872== at 0x527E6D0: __libc_res_nsend (in /lib64/libresolv-2.17.so) ==7872== --7872-- --7872-- used_suppression: 2 dl-hack3-cond-1 ==7872== ==7872== ERROR SUMMARY: 23 errors from 4 contexts (suppressed: 2 from 2) Doesn't look very enlightening to me. Stefan On 10.04.2013 15:20, Alan DeKok wrote:
Stefan Winter wrote:
Hi,
any clue?
Not really. It looks like the data was free'd twice.
Maybe valgrind has more useful information?
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html
-- Stefan WINTER Ingenieur de Recherche Fondation RESTENA - Réseau Téléinformatique de l'Education Nationale et de la Recherche 6, rue Richard Coudenhove-Kalergi L-1359 Luxembourg Tel: +352 424409 1 Fax: +352 422473