Full_Name: hark Version: commit 9773f43b11aa8fac51407694bbdcd17830f206d5 OS: debian 9.0 URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (195.169.146.71)
openldap is build with:
CFLAGS='-g' ./configure --enable-debug --enable-perl --enable-modules --enable-passwd LTCFLAGS='-g' export LTCFLAGS make depend make mkdir /root/openldapdebug/ make install STRIP='' DESTDIR='/root/openldapdebug'
started with:
gdb --args /root/openldapdebug/usr/local/libexec/slapd -d1 -h "ldap:/// ldapi:///var/run/slapd/ldapi" -F /etc/ldap/slapd.d
then when trying to do: ldapadd -x -w $PW -D cn=admin,cn=config -H ldap:"F2F -f /root/src/ldapcrash/slapd-add-perl.ldif
cat slapd-add-perl.ldif dn: olcDatabase=perl,cn=config objectClass: olcDatabaseConfig objectClass: olcDbPerlConfig olcDatabase: perl olcSuffix: dc=perl-example,dc=com olcPerlModulePath: /root/src/perlldap/ olcPerlModule: SampleLDAP olcPerlFilterSearchResults: FALSE #olcPerlModuleConfig: something
dn: dc=perl-example,dc=com objectClass: top objectClass: dcObject objectClass: organizationalUnit dc: perl-example ou: perl-example-ou
it crashes:
58a4ca92 >>> dnNormalize: <olcDatabase={2}perl> 58a4ca92 <<< dnNormalize: <olcDatabase={2}perl> 58a4ca92 >>> dnPrettyNormal: <dc=perl-example,dc=com> 58a4ca92 <<< dnPrettyNormal: <dc=perl-example,dc=com>, <dc=perl-example,dc=com> 58a4ca92 perl backend db init
Thread 3 "slapd" received signal SIGSEGV, Segmentation fault. [Switching to LWP 7204] 0x00006a7b721f64f3 in ?? () (gdb) bt #0 0x00006a7b721f64f3 in ?? () #1 0x00006a7b721a23af in ?? () #2 0x000003ad6f16fd18 in ?? () #3 0x000003ad6f16fd48 in ?? () #4 0x000003ad00000018 in ?? () #5 0x00006a7b2d663930 in ?? () #6 0x00006a7b2d6638c0 in ?? () #7 0xb0ac74c0fb38d600 in ?? () #8 0x000003ad6f16fd48 in ?? () #9 0x000003ad6f16fd48 in ?? () #10 0x0000000000000000 in ?? ()
When trying that multiple times, the backtraces are different:
Thread 3 "slapd" received signal SIGSEGV, Segmentation fault. [Switching to LWP 7258] 0x00007cd6f62984f3 in ?? () (gdb) bt #0 0x00007cd6f62984f3 in ?? () #1 0x00007cd6f62443af in ?? () #2 0x00000229299536c8 in ?? () #3 0x00000229299536f8 in ?? () #4 0x0000022900000018 in ?? () #5 0x00007cd6b16e4930 in ?? () #6 0x00007cd6b16e48c0 in ?? () #7 0x5c084850684a2100 in ?? () #8 0x00000229299536f8 in ?? () #9 0x00000229299536fin % ?? () #10 0x0000000000000000 in ?? ()
[Switching to LWP 7270] 0x00006adbabc534f3 in ?? () (gdb) bt #0 0x00006adbabc534f3 in ?? () #1 0x00006adbabbff3af in ?? () #2 0x00000442aef9d2c8 in ?? () #3 0x00000442aef9d2f8 in ?? () #4 0x0000044200000018 in ?? () #5 0x00006adb670f3930 in ?? () #6 0x00006adb670f38c0 in ?? () #7 0x918aaeeca7964a00 in ?? () #8 0x00000442aef9d2f8 in ?? () #9 0x00000442aef9d2f8 in ?? () #10 0x0000000000000000 in ?? ()
perl --version
This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linux-gnu-thread-multi (with 63 registered patches, see perl -V for more detail)