Bug 1800529
| Summary: | Memory leaks in disk monitoring | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Viktor Ashirov <vashirov> |
| Component: | 389-ds-base | Assignee: | Simon Pichugin <spichugi> |
| Status: | CLOSED ERRATA | QA Contact: | RHDS QE <ds-qe-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.2 | CC: | mreynolds, pasik, sgouvern, spichugi, tbordaz, vashirov |
| Target Milestone: | rc | Flags: | mreynolds:
mirror+
|
| Target Release: | 8.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | 389-ds-1.4-8030020200805152009.618f7055 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-11-04 03:07:24 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
With build 389-ds-base-1.4.3.8-2.module+el8.3.0+6591+ebfc9766.x86_64 / 389-ds-base-1.4.3.8-2.1asan.el8.x86_64 ASAN didn't report any memory leaks when running dirsrvtests/tests/suites/disk_monitoring/disk_monitoring_test.py Marking as Verified By mistake, I missed a memory leak report hidden amongst other heap-use-after-free reports created by ASAN during dirsrvtests/tests/suites/disk_monitoring/disk_monitoring_test.py execution with build 389-ds-base-1.4.3.8-2.module+el8.3.0+6591+ebfc9766.x86_64 / 389-ds-base-1.4.3.8-2.1asan.el8.x86_64 :
=================================================================
==278469==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950fe8 in __interceptor_realloc (/lib64/libasan.so.5+0xeffe8)
#1 0x7fe4f23c5f3f in slapi_ch_realloc (/usr/lib64/dirsrv/libslapd.so.0+0xdcf3f)
#2 0x7fe4f23c3f0f in slapi_ch_array_add_ext (/usr/lib64/dirsrv/libslapd.so.0+0xdaf0f)
#3 0x560251df8460 in disk_mon_add_dir ldap/servers/slapd/daemon.c:258
#4 0x560251df867d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285
#5 0x560251ddc772 in main (/usr/sbin/ns-slapd+0x30772)
#6 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251df791a in createprlistensockets ldap/servers/slapd/daemon.c:2397
#3 0x560251df8045 in daemon_pre_setuid_init ldap/servers/slapd/daemon.c:167
#4 0x560251dda6bb in main (/usr/sbin/ns-slapd+0x2e6bb)
#5 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dda56b in main (/usr/sbin/ns-slapd+0x2e56b)
#3 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dfba11 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2501
#3 0x560251dd9f70 in main (/usr/sbin/ns-slapd+0x2df70)
#4 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dfba11 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2501
#3 0x560251dda04d in main (/usr/sbin/ns-slapd+0x2e04d)
#4 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251df791a in createprlistensockets ldap/servers/slapd/daemon.c:2397
#3 0x560251df7ffa in daemon_pre_setuid_init ldap/servers/slapd/daemon.c:181
#4 0x560251dda6bb in main (/usr/sbin/ns-slapd+0x2e6bb)
#5 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dda5c7 in main (/usr/sbin/ns-slapd+0x2e5c7)
#3 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dfb4d7 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2486
#3 0x560251dda04d in main (/usr/sbin/ns-slapd+0x2e04d)
#4 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f2950db0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7fe4f23c6035 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd035)
#2 0x560251dfb4d7 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2486
#3 0x560251dd9f70 in main (/usr/sbin/ns-slapd+0x2df70)
#4 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 96 byte(s) in 2 object(s) allocated from:
#0 0x7fe4f2950ba8 in __interceptor_malloc (/lib64/libasan.so.5+0xefba8)
#1 0x7fe4efc93fce (/lib64/libnspr4.so+0xdfce)
Indirect leak of 80 byte(s) in 2 object(s) allocated from:
#0 0x7fe4f2950ba8 in __interceptor_malloc (/lib64/libasan.so.5+0xefba8)
#1 0x7fe4efc93fe0 (/lib64/libnspr4.so+0xdfe0)
Indirect leak of 34 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f289cda0 in strdup (/lib64/libasan.so.5+0x3bda0)
#1 0x7fe4f23c613d in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdd13d)
#2 0x560251df8269 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224
#3 0x560251df83e6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251
#4 0x560251df867d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285
#5 0x560251ddc772 in main (/usr/sbin/ns-slapd+0x30772)
#6 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 2 byte(s) in 1 object(s) allocated from:
#0 0x7fe4f289cda0 in strdup (/lib64/libasan.so.5+0x3bda0)
#1 0x7fe4f23c613d in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdd13d)
#2 0x560251df8269 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224
#3 0x560251df83e6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251
#4 0x560251df8610 in disk_mon_get_dirs ldap/servers/slapd/daemon.c:277
#5 0x560251ddc772 in main (/usr/sbin/ns-slapd+0x30772)
#6 0x7fe4eed077b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
SUMMARY: AddressSanitizer: 652 byte(s) leaked in 15 allocation(s).
-> Reassigning and marking as failed QA
I've just checked the recent build and I don't see the memory leaks... Could you please put the stack traces and the build version where you expirience it? Yes sorry, I missed my comment along the way ...
On build 389-ds-base-1.4.3.8-4.1asan.el8.x86_64
running # DISK_MONITORING_ACK=1 ASAN=1 py.test -s -v ds/dirsrvtests/tests/suites/disk_monitoring/disk_monitoring_test.py
# grep leak /run/dirsrv/*
/run/dirsrv/ns-slapd-standalone1.asan.290959:==290959==ERROR: LeakSanitizer: detected memory leaks
/run/dirsrv/ns-slapd-standalone1.asan.290959:Direct leak of 24 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Direct leak of 16 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Direct leak of 16 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Direct leak of 16 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 112 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 112 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 48 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 40 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 34 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:Indirect leak of 2 byte(s) in 1 object(s) allocated from:
/run/dirsrv/ns-slapd-standalone1.asan.290959:SUMMARY: AddressSanitizer: 420 byte(s) leaked in 10 allocation(s)
# more /run/dirsrv/ns-slapd-standalone1.asan.290959
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083efe8 in __interceptor_realloc (/lib64/libasan.so.5+0xeffe8)
#1 0x7f1b302b24af in slapi_ch_realloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd4af)
#2 0x7f1b302b047f in slapi_ch_array_add_ext (/usr/lib64/dirsrv/libslapd.so.0+0xdb47f)
#3 0x556693f0e660 in disk_mon_add_dir ldap/servers/slapd/daemon.c:258
#4 0x556693f0e87d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285
#5 0x556693ef2902 in main (/usr/sbin/ns-slapd+0x30902)
#6 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083edb0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7f1b302b25a5 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd5a5)
#2 0x556693f0db1a in createprlistensockets ldap/servers/slapd/daemon.c:2392
#3 0x556693f0e245 in daemon_pre_setuid_init ldap/servers/slapd/daemon.c:167
#4 0x556693ef084b in main (/usr/sbin/ns-slapd+0x2e84b)
#5 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083edb0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7f1b302b25a5 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd5a5)
#2 0x556693f11c41 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2496
#3 0x556693ef01dd in main (/usr/sbin/ns-slapd+0x2e1dd)
#4 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Direct leak of 16 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083edb0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7f1b302b25a5 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd5a5)
#2 0x556693f11c41 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2496
#3 0x556693ef0100 in main (/usr/sbin/ns-slapd+0x2e100)
#4 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083edb0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7f1b302b25a5 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd5a5)
#2 0x556693f11707 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2481
#3 0x556693ef01dd in main (/usr/sbin/ns-slapd+0x2e1dd)
#4 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 112 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083edb0 in calloc (/lib64/libasan.so.5+0xefdb0)
#1 0x7f1b302b25a5 in slapi_ch_calloc (/usr/lib64/dirsrv/libslapd.so.0+0xdd5a5)
#2 0x556693f11707 in slapd_listenhost2addr ldap/servers/slapd/daemon.c:2481
#3 0x556693ef0100 in main (/usr/sbin/ns-slapd+0x2e100)
#4 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 48 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083eba8 in __interceptor_malloc (/lib64/libasan.so.5+0xefba8)
#1 0x7f1b2db8afce (/lib64/libnspr4.so+0xdfce)
Indirect leak of 40 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3083eba8 in __interceptor_malloc (/lib64/libasan.so.5+0xefba8)
#1 0x7f1b2db8afe0 (/lib64/libnspr4.so+0xdfe0)
Indirect leak of 34 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3078ada0 in strdup (/lib64/libasan.so.5+0x3bda0)
#1 0x7f1b302b26ad in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdd6ad)
#2 0x556693f0e469 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224
#3 0x556693f0e5e6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251
#4 0x556693f0e87d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285
#5 0x556693ef2902 in main (/usr/sbin/ns-slapd+0x30902)
#6 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
Indirect leak of 2 byte(s) in 1 object(s) allocated from:
#0 0x7f1b3078ada0 in strdup (/lib64/libasan.so.5+0x3bda0)
#1 0x7f1b302b26ad in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdd6ad)
#2 0x556693f0e469 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224
#3 0x556693f0e5e6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251
#4 0x556693f0e810 in disk_mon_get_dirs ldap/servers/slapd/daemon.c:277
#5 0x556693ef2902 in main (/usr/sbin/ns-slapd+0x30902)
#6 0x7f1b2cbfd7b2 in __libc_start_main (/lib64/libc.so.6+0x237b2)
SUMMARY: AddressSanitizer: 420 byte(s) leaked in 10 allocation(s).
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (389-ds:1.4 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2020:4695 |
Description of problem: Memory leaks are reported by the disk monitoring test suite: ================================================================= ==9128==ERROR: LeakSanitizer: detected memory leaks Direct leak of 24 byte(s) in 1 object(s) allocated from: #0 0x7fd43c0b2fb8 in __interceptor_realloc (/lib64/libasan.so.5+0xeffb8) #1 0x7fd43bb2d6ff in slapi_ch_realloc (/usr/lib64/dirsrv/libslapd.so.0+0xdb6ff) #2 0x7fd43bb2b6cf in slapi_ch_array_add_ext (/usr/lib64/dirsrv/libslapd.so.0+0xd96cf) #3 0x55e9f5e75420 in disk_mon_add_dir ldap/servers/slapd/daemon.c:258 #4 0x55e9f5e7563d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285 #5 0x55e9f5e760c9 in disk_monitoring_thread ldap/servers/slapd/daemon.c:453 #6 0x7fd43941a567 (/lib64/libnspr4.so+0x2b567) Indirect leak of 34 byte(s) in 1 object(s) allocated from: #0 0x7fd43bffed70 in strdup (/lib64/libasan.so.5+0x3bd70) #1 0x7fd43bb2d8fd in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdb8fd) #2 0x55e9f5e75229 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224 #3 0x55e9f5e753a6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251 #4 0x55e9f5e7563d in disk_mon_get_dirs ldap/servers/slapd/daemon.c:285 #5 0x55e9f5e760c9 in disk_monitoring_thread ldap/servers/slapd/daemon.c:453 #6 0x7fd43941a567 (/lib64/libnspr4.so+0x2b567) Indirect leak of 2 byte(s) in 1 object(s) allocated from: #0 0x7fd43bffed70 in strdup (/lib64/libasan.so.5+0x3bd70) #1 0x7fd43bb2d8fd in slapi_ch_strdup (/usr/lib64/dirsrv/libslapd.so.0+0xdb8fd) #2 0x55e9f5e75229 in disk_mon_get_mount_point ldap/servers/slapd/daemon.c:224 #3 0x55e9f5e753a6 in disk_mon_add_dir ldap/servers/slapd/daemon.c:251 #4 0x55e9f5e755d0 in disk_mon_get_dirs ldap/servers/slapd/daemon.c:277 #5 0x55e9f5e760c9 in disk_monitoring_thread ldap/servers/slapd/daemon.c:453 #6 0x7fd43941a567 (/lib64/libnspr4.so+0x2b567) SUMMARY: AddressSanitizer: 60 byte(s) leaked in 3 allocation(s). Version-Release number of selected component (if applicable): 389-ds-base-1.4.2.4-6.module+el8.2.0+5509+885f7879 This is a continuation of https://bugzilla.redhat.com/show_bug.cgi?id=1758473