Hi,
I have openldap 2.4.36 installed using mdb backend on Solaris 10. I am using this database for a while and suddenly I started getting core dumps while trying to add any data to database. Disk, memory usages seem fine. Database size is not exceeded, it is almost 1/10 full. What may be the reason for this? Please find the other information about the issue as below:
slapd version:
# ./slapd -VVV @(#) $OpenLDAP: slapd 2.4.36 (Oct 6 2013 13:56:57) $ myuser@myhost:/some/dir/openldap-2.4.36/servers/slapd
Included static overlays: syncprov Included static backends: config ldif mdb
slapd.conf for mdb backend:
database mdb directory /some/dir/openldap/var/openldap-data suffix "dc=mycomp,dc=com" rootdn "cn=Manager,dc=mycomp,dc=com" rootpw password index objectClass eq maxsize 45899345920 dbnosync checkpoint 0 10 threads 32 listener-threads 16 concurrency 1024 envflags writemap,nometasync
slapd debug log:
53e15b8d conn=1001 op=17 do_add ber_scanf fmt ({m) ber: 53e15b8d conn=1001 op=17 do_add: dn (BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com) ber_scanf fmt ({m{W}}) ber: ber_scanf fmt ({m{W}}) ber: ber_scanf fmt (}) ber: 53e15b8d >>> dnPrettyNormal: <BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com> => ldap_bv2dn(BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com,0) <= ldap_bv2dn(BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com)=0 => ldap_dn2bv(272) <= ldap_dn2bv(BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com)=0 => ldap_dn2bv(272) <= ldap_dn2bv(BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com)=0 53e15b8d <<< dnPrettyNormal: <BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com>, <BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com> 53e15b8d ==> mdb_add: BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com 53e15b8d oc_check_required entry (BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com), objectClass "RTEBatchGroup" 53e15b8d oc_check_allowed type "BatchGroupName" 53e15b8d oc_check_allowed type "objectClass" 53e15b8d oc_check_allowed type "structuralObjectClass" 53e15b8d mdb_dn2entry("BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com") 53e15b8d => mdb_dn2id("BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com") 53e15b8d <= mdb_dn2id: get failed: MDB_NOTFOUND: No matching key/data pair found (-30798) 53e15b8d => mdb_entry_decode: 53e15b8d <= mdb_entry_decode 53e15b8d => mdb_dn2id_add 0x1a28eb: "BatchGroupName=test,uid=myuser,OperationType=create,o=cust,dc=mycomp,dc=com" zsh: bus error (core dumped) ./slapd -d5
gdb backtrace of the generated core file:
# gdb slapd core GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.10"... (no debugging symbols found) Reading symbols from /some/dir/lib/libldap_r-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /some/dir/lib/libldap_r-2.4.so.2 Reading symbols from /some/dir/lib/liblber-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /some/dir/lib/liblber-2.4.so.2 Reading symbols from /usr/lib/sparcv9/libicuuc.so.3...(no debugging symbols found)...done. Loaded symbols for /usr/lib/64/libicuuc.so.3 Reading symbols from /usr/lib/sparcv9/libicudata.so.3...(no debugging symbols found)...done. Loaded symbols for /usr/lib/64/libicudata.so.3 Reading symbols from /some/dir/lib/libsasl2.so.2... (no debugging symbols found)...done. Loaded symbols for /some/dir/lib/libsasl2.so.2 Reading symbols from /lib/sparcv9/libdl.so.1... warning: Lowest section in /lib/sparcv9/libdl.so.1 is .hash at 0000000000000120 (no debugging symbols found)...done. Loaded symbols for /lib/64/libdl.so.1 Reading symbols from /opt/csw/lib/sparcv9/libssl.so.0.9.8...(no debugging symbols found)...done. Loaded symbols for /opt/csw/lib/sparcv9/libssl.so.0.9.8 Reading symbols from /opt/csw/lib/sparcv9/libcrypto.so.0.9.8...(no debugging symbols found)...done. Loaded symbols for /opt/csw/lib/sparcv9/libcrypto.so.0.9.8 Reading symbols from /lib/sparcv9/libresolv.so.2... (no debugging symbols found)...done. Loaded symbols for /lib/64/libresolv.so.2 Reading symbols from /lib/sparcv9/libgen.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libgen.so.1 Reading symbols from /lib/sparcv9/libnsl.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libnsl.so.1 Reading symbols from /lib/sparcv9/libsocket.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libsocket.so.1 Reading symbols from /lib/sparcv9/librt.so.1... (no debugging symbols found)...done. Loaded symbols for /lib/64/librt.so.1 Reading symbols from /lib/sparcv9/libc.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libc.so.1 Reading symbols from /opt/csw/gcc4/lib/sparcv9/libgcc_s.so.1...(no debugging symbols found)...done. Loaded symbols for /opt/csw/gcc4/lib/sparcv9/libgcc_s.so.1 Reading symbols from /lib/sparcv9/libpthread.so.1... warning: Lowest section in /lib/sparcv9/libpthread.so.1 is .dynamic at 00000000000000b0 (no debugging symbols found)...done. Loaded symbols for /lib/64/libpthread.so.1 Reading symbols from /lib/sparcv9/libm.so.2... (no debugging symbols found)...done. Loaded symbols for /lib/64/libm.so.2 Reading symbols from /usr/lib/sparcv9/libCrun.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/64/libCrun.so.1 Reading symbols from /lib/sparcv9/libaio.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libaio.so.1 Reading symbols from /lib/sparcv9/libmd.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/64/libmd.so.1 Reading symbols from /platform/sun4v/lib/sparcv9/libc_psr.so.1... (no debugging symbols found)...done. Loaded symbols for /platform/SUNW,Netra-T2000/lib/sparcv9/libc_psr.so.1 Reading symbols from /lib/sparcv9/ld.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/sparcv9/ld.so.1 Core was generated by `./slapd -d5'. Program terminated with signal 10, Bus error. [New process 1335262 ] [New process 90078 ] [New process 155614 ] [New process 221150 ] [New process 286686 ] [New process 352222 ] [New process 417758 ] [New process 483294 ] [New process 548830 ] [New process 614366 ] [New process 679902 ] [New process 745438 ] [New process 810974 ] [New process 876510 ] [New process 942046 ] [New process 1007582 ] [New process 1073118 ] [New process 1138654 ] [New process 1204190 ] [New process 1269726 ] #0 0x0000000100159c3c in mdb_page_search_root () (gdb) bt #0 0x0000000100159c3c in mdb_page_search_root () #1 0x000000010015a2d0 in mdb_page_search () #2 0x000000010015c984 in mdb_cursor_first () #3 0x000000010015d93c in mdb_cursor_get () #4 0x000000010015204c in mdb_page_alloc () #5 0x0000000100152b6c in mdb_page_touch () #6 0x000000010015a264 in mdb_page_search () #7 0x000000010015dba0 in mdb_cursor_touch () #8 0x000000010015e314 in mdb_cursor_put () #9 0x000000010018f25c in mdb_dn2id_add () #10 0x0000000100184e94 in mdb_add () #11 0x0000000100060970 in fe_op_add () #12 0x00000001000601fc in do_add () #13 0x000000010005128c in connection_operation () #14 0x0000000100051a4c in connection_read_thread () #15 0xffffffff7f4164bc in ldap_int_thread_pool_wrapper () from /some/dir/lib/libldap_r-2.4.so.2 #16 0xffffffff7ced7374 in _lwp_start () from /lib/64/libc.so.1 #17 0xffffffff7ced7374 in _lwp_start () from /lib/64/libc.so.1 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thanks
Celalettin KILINÇ wrote:
Hi,
I have openldap 2.4.36 installed using mdb backend on Solaris 10. I am using this database for a while and suddenly I started getting core dumps while trying to add any data to database. Disk, memory usages seem fine. Database size is not exceeded, it is almost 1/10 full. What may be the reason for this? Please find the other information about the issue as below:
Loaded symbols for /platform/SUNW,Netra-T2000/lib/sparcv9/libc_psr.so.1 Reading symbols from /lib/sparcv9/ld.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/sparcv9/ld.so.1 Core was generated by `./slapd -d5'. Program terminated with signal 10, Bus error. [New process 1335262 ] [New process 90078 ] [New process 155614 ] [New process 221150 ] [New process 286686 ] [New process 352222 ] [New process 417758 ] [New process 483294 ] [New process 548830 ] [New process 614366 ] [New process 679902 ] [New process 745438 ] [New process 810974 ] [New process 876510 ] [New process 942046 ] [New process 1007582 ] [New process 1073118 ] [New process 1138654 ] [New process 1204190 ] [New process 1269726 ] #0 0x0000000100159c3c in mdb_page_search_root () (gdb) bt #0 0x0000000100159c3c in mdb_page_search_root () #1 0x000000010015a2d0 in mdb_page_search () #2 0x000000010015c984 in mdb_cursor_first () #3 0x000000010015d93c in mdb_cursor_get () #4 0x000000010015204c in mdb_page_alloc () #5 0x0000000100152b6c in mdb_page_touch () #6 0x000000010015a264 in mdb_page_search () #7 0x000000010015dba0 in mdb_cursor_touch () #8 0x000000010015e314 in mdb_cursor_put () #9 0x000000010018f25c in mdb_dn2id_add () #10 0x0000000100184e94 in mdb_add () #11 0x0000000100060970 in fe_op_add () #12 0x00000001000601fc in do_add () #13 0x000000010005128c in connection_operation () #14 0x0000000100051a4c in connection_read_thread () #15 0xffffffff7f4164bc in ldap_int_thread_pool_wrapper () from /some/dir/lib/libldap_r-2.4.so.2 #16 0xffffffff7ced7374 in _lwp_start () from /lib/64/libc.so.1 #17 0xffffffff7ced7374 in _lwp_start () from /lib/64/libc.so.1 Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Doesn't look like any crashes we've seen before, but your best bet would be to slapcat the DB and upgrade to a current version. (2.4.39 was released more than 6 months ago, 2.4.40 release candidate is in testing now.) Ideally test against the 2.4.40rc and see if the problem remains.
To be precise - slapcat your DB with your current version, then install the new version and load a new copy of the DB with the new slapadd.
openldap-technical@openldap.org