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

Re: OpenLDAP keeps on dying sporadically



I'll deliver the gdb(1) results as soon as I'm able to compile with relevant options. Meanwhile, here is some more debugging results about the break down of 'slapd -d -1 [...]'

# ======================================================================== #

[...]

553dfcc9     filter: (&(associatedDomain= somedom.tld)(!(destinationIndicator=*)))
ber_scanf fmt ({M}}) ber:
ber_dump: buf=0x94b40f020 ptr=0x94b40f09a end=0x94b40f0ae len=20
  0000:  00 12 04 10 61 73 73 6f  63 69 61 74 65 64 44 6f   ....associatedDo 
  0010:  6d 61 69 6e                                        main             
553dfcc9     attrs:553dfcc9  associatedDomain553dfcc9
553dfcc9 conn=1007 op=331 SRCH base="ou=domains,ou=mail,dc=MyDomain,dc=Local" scope=2 deref=0 filter="(&(associatedDomain=somedom.tld)(!(destinationIndicator=*)))"
ber_get_next: tag 0x30 len 105 contents:
ber_dump: buf=0x943d502b0 ptr=0x943d502b0 end=0x943d50319 len=105
  0000:  02 01 0c 63 64 04 28 6f  75 3d 61 63 63 6f 75 6e   ...cd.(ou=accoun 
  0010:  74 73 2c 6f 75 3d 6d 61  69 6c 2c 64 63 3d 4e 65   ts,ou=mail,dc=Ne 
  0020:  74 4f 63 65 61 6e 2c 64  63 3d 4c 6f 63 61 6c 0a   tOcean,dc=Local. 
  0030:  01 02 0a 01 00 02 01 00  02 01 0a 01 01 00 a3 1c   ................ 
  0040:  04 0b 6d 61 69 6c 41 64  64 72 65 73 73 04 0d 40   ..mailAddress..@ 
  0050:  6e 65 74 6f 63 65 61 6e  2e 64 65 20 30 0b 04 09   somedom.tld 0... 
  0060:  6d 61 69 6c 41 6c 69 61  73                        mailAlias        
553dfcc9 conn=1007 op=331 SRCH attr=associatedDomain
553dfcc9 op tag 0x63, time 1430125769
ber_get_next
553dfcc9 ==> limits_get: conn=1007 op=331 self="[anonymous]" this="ou=domains,ou=mail,dc=mydomain,dc=local"
tls_read: want=5 error=Resource temporarily unavailable
ldap_read: want=8 error=Resource temporarily unavailable
Segmentation fault

# ======================================================================== #


[...]

553dfd7c daemon: select: listen=6 active_threads=0 tvp=NULL
553dfd7c conn=1008 op=2 SRCH attr=associatedDomain
TLS trace: SSL_accept:SSLv3 read client key exchange A
TLS trace: SSL_accept:SSLv3 read finished A
tls_read: want=5, got=5
553dfd7c ==> limits_get: conn=1008 op=2 self="[anonymous]" this="ou=domains,ou=mail,dc=mydomain,dc=local"
553dfd7c daemon: select: listen=7 active_threads=0 tvp=NULL
553dfd7c daemon: select: listen=8 active_threads=0 tvp=NULL
553dfd7c daemon: select: listen=9 active_threads=0 tvp=NULL
553dfd7c => mdb_equality_candidates (associatedDomain)
Segmentation fault



# ======================================================================== #


[...]


553dfdf3 => mdb_list_candidates 0xa1
553dfdf3 => mdb_filter_candidates
553dfdf3        EQUALITY
553dfdf3 => mdb_equality_candidates (objectClass)
553dfdf3 => key_read
553dfdf3 mdb_idl_fetch_key: [b49d1940]
553dfdf3 <= mdb_index_read: failed (-30798)
553dfdf3 <= mdb_equality_candidates: id=0, first=0, last=0
553dfdf3 <= mdb_filter_candidates: id=0 first=0 last=0
553dfdf3 => mdb_filter_candidates
553dfdf3        EQUALITY
553dfdf3 conn=1002 op=1131 SRCH attr=associatedDomain
553dfdf3 => mdb_equality_candidates (mailAddress)
553dfdf3 => key_read
553dfdf3 mdb_idl_fetch_key: [a4af5673]
553dfdf3 ==> limits_get: conn=1002 op=1131 self="[anonymous]" this="ou=domains,ou=mail,dc=mydomain,dc=local"
553dfdf3 <= mdb_index_read: failed (-30798)
553dfdf3 <= mdb_equality_candidates: id=0, first=0, last=0
553dfdf3 <= mdb_filter_candidates: id=0 first=0 last=0
553dfdf3 <= mdb_list_candidates: id=0 first=0 last=0
553dfdf3 <= mdb_filter_candidates: id=0 first=0 last=0
Segmentation fault






Am 27.04.15 um 11:02 schrieb Leander Schäfer:
Hi Michael,
Hi Ulrich,

Thanks for your reply. I'm running Version 2.4.40. As I said, I do not run binary version. I always compile OpenLDAP from sources / latest ports tree.

The maximum core file size "ulimit -c" was already set to unlimited. I'm using bash-4.3.30

root@FreeBASD # ulimit -a
socket buffer size       (bytes, -b) unlimited
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) 33554432
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) 131072
max memory size         (kbytes, -m) 3012064
open files                      (-n) 87651
pipe size            (512 bytes, -p) 1
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7592
virtual memory          (kbytes, -v) unlimited
swap size               (kbytes, -w) unlimited





root@FreeBSD # /usr/local/libexec/slapd -d -1 -f /usr/local/etc/openldap/slapd.conf -u ldap -g ldap -h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap:/// ldaps:///"

# =================================================================== #

[...]
I have removed the previous lines for this demo
[...]

553ded5a  mailUidNumber  0040:  2e e8 e7 5a 9a fe a0 8c  02 96 e9 58 48 e0 49 10   ...Z.......XH.I.
  0050:  cd 10 08 6c 20 1f 9d bc  ae dd 9a 4a 79 7e f2 3c   ...l ......Jy~.<
  0060:  25 a2 72 fe ac cc d0 09  eb 62 d2 bd 95 c8 50 7f %.r......b....P.
  0020:  b0 86 e3 1d 11 32 2d 8b  fd 57 a6 a4 ce a2 ee 2f .....2-..W...../
  0030:  52 59 da 4d 7b d1 5c 0c  22 34 29 86 c2 9c 80 72 RY.M{.\."4)....r
  0040:  ca 94 4d 69 2e ..Mi.
  0010:  73 2c 6f 75 3d 6d 61 69  6c 2c 64 63 3d 4e 65 74 s,ou=mail,dc=MyD
  0020:  4f 63 65 61 6e 2c 64 63  3d 4c 6f 63 61 6c 0a 01 omain,dc=Local..
  0090:  8e 5f 68 e0 0a 31 26 07  da 21 c6 cd 27 0e 17 2b ._h..1&..!..'..+
  00a0:  fb 53 5e 0a 84 74 50 b8  74 13 a5 fa e2 02 9a ee .S^..tP.t.......
  00b0:  5e ee 8e 6c b2 d3 b6 6e  82 6d 01 ab eb 81 25 bd ^..l...n.m....%.
  00c0:  f1 05 16 5b 7f 9e bb 76  7c ae ba a2 24 73 89 78 ...[...v|...$s.x
  0070:  ca 00 ec a3 7b 97 78 19  fe aa 56 fc a1 a5 9a 1e ....{.x...V.....
  0080:  65 f0 04 b7 04 08 af 7a  82 ef 77 e......z..w
553ded5a  mailGidNumberldap_read: want=8, got=8
553ded5a  mailQuotaStorage  0000:  30 71 02 01 0b 63 6c 04                            0q...cl.
ldap_read: want=107, got=107
  00d0:  6c ae 39 eb 15 85 4a f9  c1 6f 65 ca 4f c6 db 14 l.9...J..oe.O...
ldap_write: want=14, written=14
  00e0:  c1 f4 fe b8 b5 a4 a3 75  96 b1 9b 9b 8f d5 d6 e5 .......u........
  00f0:  8d 3c 75 4c 50 cc 9d 85  cf bb a1 d8 50 21 93 fa .<uLP.......P!..
  0100:  38 ee 89 46 45 4e 06 17  7a 8c 4b 83 51 95 a9 ca 8..FEN..z.K.Q...
  0110:  71 8c d0 b9 59 1a 14 f4  10 8d b9 bc 80 d5 cb e9 q...Y...........
  0120:  46 03 a2 ce 59 49 0b db  fc ea a3 3b fa cd a1 99 F...YI.....;....
  0030:  02 0a 01 00 02 01 00 02  01 78 01 01 00 a0 5a a3 .........x....Z.
  0040:  1a 04 0b 6f 62 6a 65 63  74 43 6c 61 73 73 04 0b ...objectClass..
  0130:  14 90 d6 0a 55 da 84 b1  42 fe af 8d 14 92 ce 27 ....U...B......'
  0050:  6d 61 69 6c 41 63 63 6f  75 6e 74 a3 1b 04 11 6d mailAccount....m
  0060:  61 69 6c 41 63 63 6f 75  6e 74 53 74 61 74 75 73 ailAccountStatus
  0000:  30 0c 02 01 06 65 07 0a  01 00 04 00 04 00 0....e........
  0070:  04 06 61 63 74 69 76 65  a3 1f 04 0b 6d 61 69 6c ..active....mail
  0080:  41 64 64 72 65 73 73 04  10 69 6e 66 6f 40 6e 65 Address..info@So
  0090:  74 6f 63 65 61 6e 2e 64  65 30 6f 04 14 6d 61 69 meDom.tld0o..mai
  00a0:  6c 53 74 6f 72 61 67 65  44 69 72 65 63 74 6f 72 lStorageDirector
553ded5a  mailQuotaMessages553ded5a
  00b0:  79 04 14 6d 61 69 6c 53  74 6f 72 61 67 65 44 69 y..mailStorageDi
553ded5a conn=1008 op=5 SRCH base="ou=accounts,ou=mail,dc=MyDomain,dc=Local" scope=2 deref=0 filter="(&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=info@somedom.tld))"
  00c0:  72 65 63 74 6f 72 79 04  0d 6d 61 69 6c 55 69 64 rectory..mailUid
  0000:  28 6f 75 3d 61 63 63 6f  75 6e 74 73 2c 6f 75 3d (ou=accounts,ou=
553ded5a conn=1008 op=4 SEARCH RESULT tag=101 err=0 nentries=0 text=
  00d0:  4e 75 6d 62 65 72 04 0d  6d 61 69 6c 47 69 64 4e Number..mailGidN
553ded5a conn=1008 op=5 SRCH attr=mailStorageDirectory mailStorageDirectory mailUidNumber mailGidNumber mailQuotaStorage mailQuotaMessages
ldap_read: want=8, got=8
  0000:  30 82 01 0d 02 01 09 63 0......c
ldap_read: want=265, got=265
  0000:  82 01 06 04 28 6f 75 3d  61 63 63 6f 75 6e 74 73 ....(ou=accounts
  0010:  2c 6f 75 3d 6d 61 69 6c  2c 64 63 3d 4e 65 74 4f ,ou=mail,dc=MyDo
553ded5a ==> limits_get: conn=1008 op=5 self="uid=dovecot,ou=systemuser,ou=mail,dc=mydomain,dc=local" this="ou=accounts,ou=mail,dc=mydomain,dc=local"
  00e0:  75 6d 62 65 72 04 10 6d  61 69 6c 51 75 6f 74 61 umber..mailQuota
Segmentation fault

# =================================================================== #


... and a second time the same debugging (-d -1)
# =================================================================== #

[...]

553df2b8 conn=1000 op=6 SRCH base="ou=accounts,ou=mail,dc=MyDomain,dc=Local" scope=2 deref=0 filter="(&(objectClass=mailAccount)(mailAccountStatus=active)(mailAddress=info@somedom.tld))"
  0010:  70 7b e7 97 2e b3 3e 24  f8 bc 52 c5 ce 0d b8 fb p{....>$..R.....
  0020:  89 cb 07 f8 d3 34 0a 39  9a fc 0d 0d b9 bb d4 13 .....4.9........
  0030:  8d 1f 56 87 c0 9c 10 2b  a2 57 ee 3b 4b 93 6a 7c ..V....+.W.;K.j|
TLS trace: SSL_accept:SSLv3 read finished A
553df2b8 conn=1000 op=6 SRCH attr=mailStorageDirectory mailStorageDirectory mailUidNumber mailGidNumber mailQuotaStorage mailQuotaMessages
553df2b8 connection_read(20): checking for input on id=1006
553df2b8 ==> limits_get: conn=1000 op=6 self="uid=dovecot,ou=systemuser,ou=mail,dc=mydomain,dc=local" this="ou=accounts,ou=mail,dc=mydomain,dc=local"
  0040:  54 2b b2 49 7e f7 ce 89  19 96 fe 83 86 77 5a 3a T+.I~........wZ:
Segmentation fault

# =================================================================== #

I'm currently trying to figure out a way to add "-O0 -g" gdb(1) support for the slapd(8C) command, since I'm compiling OpenLDAP sources from ports tree. I'll post it as soon as I got it. But maybe you can already assume some pre-diagnosis from the above output?



@Ulrich:
 - Yes, I have tried several hardware plattforms, different physical, VmWare and now the latest XenServer. Same results all over.
 - A detailed log debug can be seen on: https://forums.freebsd.org/threads/openldap-slapd-dies-sporadically.47634/
 - Be warned from the above diagnosis in the forum: It is NOT the assumed newsyslog(8) which causes the crashes!
 - What exactly do you mean by "exists cleanly"?


Best regards
Leander





Am 27.04.15 um 08:59 schrieb Ulrich Windl:
Hi!

You should tell about the operation you do when slapd crashes, maybe as well
the last log messages you see. Also: Did you try different hardware and
different compilers to run and compile slapd? What about doing an "-O0 -g"
build and enable core dumps? Or are you telling slapd exits "cleanly"?

Regards,
Ulrich





Am 26.04.15 um 13:48 schrieb Michael Ströder:
Leander Schäfer wrote:
my OpenLDAP keeps on dying sporadically.

Which OpenLDAP version is this?

Please note that OpenLDAP project does not know details about binary distribution releases.

Did you try with your own build from source using a recent OpenLDAP release?

Unfortunately it doesn't leave ANY
trace of why it crashes.

I'm not familiar with FreeBSD. But try this to get more details:

1. Run with ulimit -c unlimited to get a core dump file.

2. Provide gdb stack trace like described herein:
http://www.openldap.org/faq/data/cache/59.html

Ciao, Michael.