[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: slapd stopping with no error message



Douglas B. Jones wrote:
Thank you for the help, I thought that might be the case. I re-compiled
slapd (and all) with -g (I put those in the CFLAGS and exported it). I
then ran gdb with:

gdb \
        -d /var/lib/ldap3/src/openldap-2.3.34/servers/slapd \
        -d /var/lib/ldap3/src/openldap-2.3.34/servers/slapd/back-bdd \
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/liblber \
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/libldap \
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/libldap_r\
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/libunicode\
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/libutil\
        -d /var/lib/ldap3/src/openldap-2.3.34/libraries/librewrite\

None of those options are necessary.

/usr/local/openldap-2.3.34/libexec/slapd

By default the installed executables are stripped. You could just debug the original binary in the build tree. (Or you can redo the install in the slapd directory with "make install STRIP=" )



and run it with:

(gdb) r -d 1 -u ldap3 -h ldap://:389/ -l LOCAL6 -f \
	/usr/local/openldap-2.3.34/etc/openldap/slapd.conf -F \
	/usr/local/openldap-2.3.34/etc/openldap -u ldap3 -g ldap3

Have you read the slapd(8) manpage? Why are you providing both -f and -F? You have -u twice.

and when in the debugger it crashes on the first search and I type in where in gdb:

(first part here last of output from -d 1 for slapd)
dnNormalize: <>
<<< dnNormalize: <>
dnNormalize: <>
<<< dnNormalize: <>
<= str2entry(cn=Write,cn=Waiters,cn=Monitor) -> 0x25eaafd8
backend_startup_one: starting "o=gpc,c=us"
slapd starting
[New Thread 634641328 (LWP 14073)]
[New Thread 630442928 (LWP 14074)]
[New Thread 626244528 (LWP 14075)]
[New Thread 622046128 (LWP 14076)]
slap_listener(ldap://:389/)
connection_get(34): got connid=0
connection_read(34): checking for input on id=0
ber_get_next
ber_get_next: tag 0x30 len 12 contents:
ber_get_next
do_bind
ber_scanf fmt ({imt) ber:
ber_scanf fmt (m}) ber:
dnPrettyNormal: <>
<<< dnPrettyNormal: <>, <>
do_bind: version=3 dn="" method=128
send_ldap_result: conn=0 op=0 p=3
send_ldap_response: msgid=1 tag=97 err=0
ber_flush: 14 bytes to sd 34
connection_get(34): got connid=0
connection_read(34): checking for input on id=0
ber_get_next

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 634641328 (LWP 14073)]
0x0814c6bf in ?? ()
(gdb) where
#0 0x0814c6bf in ?? ()
#1 0x00000001 in ?? ()
#2 0x0000002c in ?? ()
#3 0x25f1cfe7 in ?? ()
#4 0x25f1cfdc in ?? ()
#5 0x25f18f4c in ?? ()
#6 0x25d410e0 in ?? ()
#7 0x25d3a268 in ?? ()
#8 0x00000000 in ?? ()
(gdb)


Unfortunately, I am not getting any reference to the C source files.
What am I do wrong? Eventually, hopefully, I will know linux better.
Thanks for any help....

-----Original Message-----
From: openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org
[mailto:openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org]On Behalf
Of Aaron Richton
Sent: Friday, March 09, 2007 12:37 PM
To: Douglas B. Jones
Cc: Howard Chu; openldap-software@openldap.org
Subject: RE: slapd stopping with no error message


Try "where". Make sure that you have line numbers from the -g compile (e.g. "init.c:354"); otherwise the trace is near impossible to use.


On Fri, 9 Mar 2007, Douglas B. Jones wrote:

I apologize, but I am not familiar with gdb. I attached to the process,
it crashed with a seg fault. What should I be typing in now? Thanks!

-----Original Message-----
From: openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org
[mailto:openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org]On Behalf
Of Douglas B. Jones
Sent: Friday, March 09, 2007 8:34 AM
To: Howard Chu
Cc: Douglas B Jones; openldap-software@openldap.org
Subject: RE: slapd stopping with no error message



Thanks. I am compiling with efence library right now. I am not too
worried about the speed, it is not prod. I would like to run it under
gdb, and I will try that, the problem is that if I loose my connection
the only thing I can think of is to kill the other gdb, then re-attach.
I guess that would not cause a problem. I was hoping with the cd and
ulimit that the core would be generated and then gdb on that. Thanks!

-----Original Message-----
From: openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org
[mailto:openldap-software-bounces+douglas=gpc.edu@OpenLDAP.org]On Behalf
Of Howard Chu
Sent: Friday, March 09, 2007 12:55 AM
To: Douglas B. Jones
Cc: openldap-software@openldap.org
Subject: Re: slapd stopping with no error message


Douglas B. Jones wrote:

The .34 failed. I set ulimit -c 100000 and found no core on the system. I am running it again in case I made a mistake. It is compiled with debug. More later. Thanks!
Still better to run under gdb. But given the fact that you're getting
heap corruption, you're really going to need something like efence in
addition. Unfortunately that's going to make things run very slowly, but
that's the only sure way to identify the root cause of the problem.

-----Original Message-----
From: openldap-software-bounces+douglas=gpc.edu@openldap.org
[mailto:openldap-software-bounces+douglas=gpc.edu@openldap.org] On Behalf Of
Douglas B. Jones
Sent: Friday, February 23, 2007 3:30 PM
To: openldap-software@openldap.org
Cc: Douglas B. Jones
Subject: RE: slapd stopping with no error message


I attached a gdb to the new process plus the -d 7 output (you know, that neat thing that unix has called redirection). Hopefully, the connection I have to the computer will not be lost and I will be able to get the trace if it fails. Also, not the results below are just the last part of the output. Let me know if I need more. For what it is worth, I did the 'he' search shown at the bottom below and it did not fail.... Thanks!

-----Original Message-----
From: openldap-software-bounces+douglas=gpc.edu@openldap.org
[mailto:openldap-software-bounces+douglas=gpc.edu@openldap.org]On Behalf
Of Douglas B. Jones
Sent: Friday, February 23, 2007 2:22 PM
To: openldap-software@openldap.org
Cc: douglas@gpc.edu
Subject: RE: slapd stopping with no error message



Finally failed, I did not have a gdb on it, but did have -d 7. Below
are the results. Thanks!

do_search
ldap_read: want=8 error=Resource temporarily unavailable
ber_scanf fmt ({miiiib) ber:
dnPrettyNormal: <o=gpc,c=us>
=> ldap_bv2dn(o=gpc,c=us,0)
<= ldap_bv2dn(o=gpc,c=us)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(o=gpc,c=us)=0
=> ldap_dn2bv(272)
<= ldap_dn2bv(o=gpc,c=us)=0
<<< dnPrettyNormal: <o=gpc,c=us>, <o=gpc,c=us>
SRCH "o=gpc,c=us" 2 0    100 3600 0
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
ber_scanf fmt ({m) ber:
ber_scanf fmt (m) ber:
    filter: (|(cn=he*)(mail=he*)(sn=he*))
ber_scanf fmt ({M}}) ber:
    attrs: cn mail
*** glibc detected *** corrupted double-linked list: 0x29400048 ***
/etc/init.d/gpcldap-33: line 51: 11051 Aborted                 ${slapd} -d 7
-u $user -h "ldap://:$P/"; $OPTIONS $SLAPD_OPTIONS

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









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