Issue 8821 - memory leak during slap_send_ldap_result()
Summary: memory leak during slap_send_ldap_result()
Status: VERIFIED FEEDBACK
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: 2.4.40
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-21 02:42 UTC by valdemar.pavesi@nokia.com
Modified: 2021-08-03 18:13 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description valdemar.pavesi@nokia.com 2018-03-21 02:42:54 UTC
Full_Name: VALDEMAR PAVESI
Version: 2.4.40
OS: 3.10.0-514.26.2.el7.x86_64
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (131.228.48.70)


hello,

during add an delete there is a memory leak.

fsuseradd CESNAT4 -G _nokfsuipmgroot -p Gok9zt0Fy4FZYWhW/fGHLseWjPj/Dgv1
fsuserdel  -r remove CESNAT4

there is a success for both commands.

+++++++++++++++++++++++++++++++++++++++

memory keep increasing...

Every 5.0s: ps -p 29064 o vsz,rss                                               
                                                                   Wed Mar 21
02:34:22 2018

   VSZ   RSS
831368 83980

+++++++++++++++++++++++++++++++++

Every 5.0s: ps -p 29064 o vsz,rss                                               
                                                                   Wed Mar 21
02:36:12 2018

   VSZ   RSS
831368 83984
+++++++++++++++++++++++++++++++++

got 1000 times memory leaked:


0x00007fc8000f8f70 libc-2.17.so __malloc()+0
0x00007fc8017cf2b5 liblber-2.4.so ber_memalloc_x()+53
0x00007fc8017cf5de liblber-2.4.so ber_dupbv_x()+62
0x00007fc801ea1c23 slapd
0x00007fc801ea2172 slapd attrs_dup()+66
0x00007fc801ea551b slapd entry_dup2()+75
0x00007fc7fc6f1403 syncprov-2.4.so
0x00007fc7fc6f20c2 syncprov-2.4.so
0x00007fc801ea91f3 slapd
0x00007fc801ea97b0 slapd
0x00007fc801eaa342 slapd slap_send_ldap_result()+114
0x00007fc801f1807d slapd bdb_modify()+1325
0x00007fc801f07926 slapd overlay_op_walk()+134
0x00007fc801f07a94 slapd
0x00007fc801efe7bf slapd
0x00007fc801f008eb slapd
0x00007fc801e999a1 slapd
0x00007fc8019e9fba libldap_r-2.4.so
0x00007fc800caddc5 libpthread-2.17.so start_thread()+197
0x00007fc80017076d libc-2.17.so __clone()+109

+++++++++++++++++++++++++++++++++


if keep running both commands,  there is one time that  we will get this error:


# fsuseradd CESNAT -G _nokfsuipmgroot -p Gok9zt0Fy4FZYWhW/fGHLseWjPj/Dgv1
invalid parameter: CESNAT already exists. use -g option to assign user to
CESNAT

# fsuserdel -r remove CESNAT
Username CESNAT does not exist in LDAP.

# fsuseradd CESNAT -G _nokfsuipmgroot -p Gok9zt0Fy4FZYWhW/fGHLseWjPj/Dgv1
invalid parameter: CESNAT already exists. use -g option to assign user to
CESNAT

# fsuserdel -r remove CESNAT
Username CESNAT does not exist in LDAP.

# fsuserdel -r remove CESNAT
Username CESNAT does not exist in LDAP.

# fsuseradd CESNAT -G _nokfsuipmgroot -p Gok9zt0Fy4FZYWhW/fGHLseWjPj/Dgv1
invalid parameter: CESNAT already exists. use -g option to assign user to
CESNAT

+++++++++++++++++++++++++++++++++++++++++


[root@santos-santoscmm-necc0 ~]# more /opt/aaa/ldap/conf/ldap.conf
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.7 2001/09/27 20:00:31
kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

include         /opt/aaa/ldap/schema/fsAll.schema

#schemacheck off

# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral       ldap://root.openldap.org

pidfile /var/run/slapd/slapd.pid
#argsfile /var/run/openldap/slapd.args

# Load dynamic backend modules:
# modulepath    /usr/local/libexec/openldap
# moduleload    back_ldap.la
# moduleload    back_ldbm.la
# moduleload    back_passwd.la
# moduleload    back_shell.la

# Define global ACLs to disable default read access.
include /opt/aaa/ldap/conf/security.conf

allows bind_v2

# Log level here doesn't really have any effect since the service is started
with -d option
loglevel 256
logfile /var/log/ldap/ldap.log

# Set the max size of primary thread pool
threads 20



#######################################################################
# ldbm database definitions
#######################################################################
sizelimit unlimited


# main database #######################################################
database    bdb
suffix      ""
rootdn      "fsClusterId=ClusterRoot"
rootpw          {CRYPT}$6$cKyVbTD/bEiX$DOOeUCXHkmOTdlbRq0n.hGzgv7rhD2MG4.hAt8s.8Gqr73gUKw7swD2xR7zvidcfpvbkVjOkruY4BM9UprSFH/
password-hash {CRYPT}
password-crypt-salt-format "$6$%.12s"
checkpoint  1024 60
directory   /var/lib/ldap/aaa
index       objectClass,entryCSN,entryUUID eq
index           uid,uidNumber,gidNumber,fssecAssignedGroupRoleRef,memberUid eq
moduleload /usr/lib64/openldap/ppolicy.la

overlay ppolicy

ppolicy_default "fsFragmentId=Policy,fsFragmentId=Configurations,fsFragmentId=Security,fsClusterId=ClusterRoot"


#overlay glue

#cachesize 30000


TLSCertificateFile local.local
security ssf=128
TLSCipherSuite HIGH:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA:-SSLv2:-SSLv3
TLSCACertificatePath    /etc/openldap/internal_certs
TLSVerifyClient never
include /opt/nokia/aaa/ldap/conf/sync.conf
#


+++++++++++++++++++++++++++++++++++++++++


regards!
Valdemar
Comment 1 Howard Chu 2018-03-21 03:41:10 UTC
valdemar.pavesi@nokia.com wrote:
> Full_Name: VALDEMAR PAVESI
> Version: 2.4.40
> OS: 3.10.0-514.26.2.el7.x86_64
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (131.228.48.70)
> 
> 
> hello,
> 
> during add an delete there is a memory leak.

This could be ITS#8031 or ITS#8690. 2.4.40 is nearly 4 years old. Please use a 
newer release and report back if you're still seeing the problem.

> got 1000 times memory leaked:
> 
> 
> 0x00007fc8000f8f70 libc-2.17.so __malloc()+0
> 0x00007fc8017cf2b5 liblber-2.4.so ber_memalloc_x()+53
> 0x00007fc8017cf5de liblber-2.4.so ber_dupbv_x()+62
> 0x00007fc801ea1c23 slapd
> 0x00007fc801ea2172 slapd attrs_dup()+66
> 0x00007fc801ea551b slapd entry_dup2()+75
> 0x00007fc7fc6f1403 syncprov-2.4.so
> 0x00007fc7fc6f20c2 syncprov-2.4.so
> 0x00007fc801ea91f3 slapd
> 0x00007fc801ea97b0 slapd
> 0x00007fc801eaa342 slapd slap_send_ldap_result()+114
> 0x00007fc801f1807d slapd bdb_modify()+1325
> 0x00007fc801f07926 slapd overlay_op_walk()+134
> 0x00007fc801f07a94 slapd
> 0x00007fc801efe7bf slapd
> 0x00007fc801f008eb slapd
> 0x00007fc801e999a1 slapd
> 0x00007fc8019e9fba libldap_r-2.4.so
> 0x00007fc800caddc5 libpthread-2.17.so start_thread()+197
> 0x00007fc80017076d libc-2.17.so __clone()+109
> 
> +++++++++++++++++++++++++++++++++

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

Comment 2 Howard Chu 2018-03-21 16:16:25 UTC
changed state Open to Feedback