On Sunday 11 March 2007 20:44, Douglas B. Jones wrote:
If there is anymore gdb commands I can do, please let me know. Thanks!
This might help: http://www.openldap.org/faq/index.cgi?_highlightWords=backtrace&file=59
-----Original Message----- From: Douglas B. Jones [mailto:douglas@gpc.edu] Sent: Friday, March 09, 2007 3:15 PM To: Howard Chu Cc: openldap-software@openldap.org; Aaron Richton; Douglas B Jones Subject: RE: slapd stopping with no error message
Thanks, I did not think about them being stripped! I reran it with:
and got: %gdb ./servers/slapd/slapd (gdb)r -d 1 -u ldap3 -g ldap3 -h ldap://:389/ -l local6 -F \ /usr/local/openldap-2.3.34/etc/openldap ( output skipped)
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 do_bind: v3 anonymous bind 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 635632560 (LWP 14158)] ber_get_next (sb=0x25efbfe8, len=0x25e2c27c, ber=0x2452cfd4) at io.c:551 551 if (*ber->ber_ptr & 0x80) { /* multi-byte */ (gdb) where #0 ber_get_next (sb=0x25efbfe8, len=0x25e2c27c, ber=0x2452cfd4) at io.c:551 #1 0x0805eed0 in connection_read (s=34) at connection.c:1528 #2 0x0805baa2 in slapd_daemon_task (ptr=0x0) at daemon.c:2461 #3 0x004e5371 in start_thread () from /lib/tls/libpthread.so.0 #4 0x0036effe in clone () from /lib/tls/libc.so.6
If I can provide any more information, please let me know. Thanks! Thanks again for all the help!
-----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 3:05 PM To: Douglas B. Jones Cc: openldap-software@openldap.org; Aaron Richton Subject: 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/