ldapdb auxprop configuration
Lars Hanke
lars at lhanke.de
Sat Jan 3 10:43:59 EST 2009
_S_eems we're coming closer ...
> 'signaled to death by 11' is a big red flag... your imapd process is
> seg faulting. It's possibly caused by an old SASL/OpenLDAP reentrant
> bug (are you running an old version of libldap?).
Looking at SASL Bug 3032
<http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3032> and Debian Bug
#409495 it looks quite like that. Both bugs are not resolved according
to the bugtrackers. The install is Lenny current as per today. These are
the relevant packages:
hermod:/# dpkg -l '*cyrus*' | grep '^ii'
ii cyrus-admin-2.2 2.2.13-14 Cyrus mail
system (administration tools)
ii cyrus-clients-2.2 2.2.13-14+b3 Cyrus mail
system (test clients)
ii cyrus-common-2.2 2.2.13-14+b3 Cyrus mail
system (common files)
ii cyrus-imapd-2.2 2.2.13-14+b3 Cyrus mail
system (IMAP support)
ii libcyrus-imap-perl22 2.2.13-14+b3 Interface
to Cyrus imap client imclient libr
hermod:/# dpkg -l '*ldap*' | grep '^ii'
ii ldap-utils 2.4.11-1 OpenLDAP
utilities
ii libldap-2.4-2 2.4.11-1 OpenLDAP
libraries
hermod:/# dpkg -l '*sasl*' | grep '^ii'
ii libsasl2-2 2.1.22.dfsg1-23 Cyrus SASL
- authentication abstraction libr
ii libsasl2-modules 2.1.22.dfsg1-23 Cyrus SASL
- pluggable authentication module
ii libsasl2-modules-gssapi-mit 2.1.22.dfsg1-23 Cyrus SASL
- pluggable authentication module
ii libsasl2-modules-ldap 2.1.22.dfsg1-23 Cyrus SASL
- pluggable authentication module
ii sasl2-bin 2.1.22.dfsg1-23 Cyrus SASL
- administration programs for SASL
The Debian Bugtracker has it that avoiding DIGEST-MD5 would work around
the bug. So I removed that MECH and eventually replaced it with
CRAM-MD5, but the SEGFAULT persists.
> You can specify a debug_command in your imapd.conf to generate a back
> trace. See:
> https://langhorst.com/cgi-bin/dwww//usr/share/doc/cyrus21-common/README.Debian.debug.gz
>
Okay, if the error is known and open, it's worth the while to create a
debugging version of probably all the packages. Does anyone know more
about the current state of the bug? I could supply an OpenVZ Container,
which readily produces it. ;)
The strace ends in:
15:42:19.940818 poll([{fd=16, events=POLLIN}], 1, 5000) = 1 ([{fd=16,
revents=POLLIN}])
15:42:19.940883 ioctl(16, FIONREAD, [83]) = 0
15:42:19.940917 recvfrom(16,
"\263\225\205\200\0\1\0\1\0\1\0\0\0013\0016\00216\003172\7in-addr\4a"...,
1024, 0, {sa_family=AF_INET, sin_port=htons(53),
sin_addr=inet_addr("172.16.6.3")}, [16]) = 83
15:42:19.940973 close(16) = 0
15:42:19.941020 uname({sys="Linux", node="hermod.mgr", ...}) = 0
15:42:19.941095 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
So the last thing done successfully is a DNS query for the LDAP server.
The ltrace is a little more informative. However, it looks like the
SEGFAULT is somewhere in SASL, probably the thread should continue there ...
3922 15:46:41.771218 read(0, "dXNlcm5hbWU9ImN5cnVzIixyZWFsbT0i"...,
4096) = 354
3922 15:46:41.771278 strlen("") = 0
3922 15:46:41.771321 strncasecmp(0x7fffc67534d0, 0x46193b, 0, 5, 22) = 0
3922 15:46:41.771380 strlen("") = 0
3922 15:46:41.771423 strlen("dXNlcm5hbWU9ImN5cnVzIixyZWFsbT0i"...) = 352
3922 15:46:41.771470 sasl_decode64(0x7fffc67534d0, 352, 0x7fffc67534d0,
21848, 0x7fffc6758a3c) = 0
3922 15:46:41.771520 sasl_server_step(0x1f48140, 0x7fffc67534d0, 262,
0x7fffc6758a30, 0x7fffc6758a38 <unf
inished ...>
3922 15:46:41.771554 malloc(250) = 0x1f4a260
3922 15:46:41.771631 malloc(263) = 0x1f4a260
3922 15:46:41.771680 malloc(6) = 0x1f4a370
3922 15:46:41.771722 malloc(11) = 0x1f4a390
3922 15:46:41.771763 malloc(45) = 0x1f4a3b0
3922 15:46:41.771805 malloc(45) = 0x1f4a3f0
3922 15:46:41.771847 malloc(10) = 0x1f4a430
3922 15:46:41.771891 malloc(4) = 0x1f4a450
3922 15:46:41.771933 malloc(16) = 0x1f4a470
3922 15:46:41.771975 malloc(33) = 0x1f49b20
3922 15:46:41.772018 malloc(1219) = 0x1f4a490
3922 15:46:41.772061 memcpy(0x1f48ee1, "cyrus", 5) = 0x1f48ee1
3922 15:46:41.772105 strlen("cyrus") = 5
3922 15:46:41.772148 strlen("cyrus") = 5
3922 15:46:41.772193 strcmp("unix", "unix") = 0
3922 15:46:41.772241 strlen("cyrus") = 5
3922 15:46:41.772283 memmove(0x6fc420, 0x1f48ee1, 5, 2, 1) = 0x6fc420
3922 15:46:41.772333 __ctype_b_loc() =
0x7f87be74d6a0
3922 15:46:41.772376 __ctype_b_loc() =
0x7f87be74d6a0
3922 15:46:41.772429 __ctype_b_loc() =
0x7f87be74d6a0
3922 15:46:41.772472 __ctype_b_loc() =
0x7f87be74d6a0
3922 15:46:41.772514 __ctype_b_loc() =
0x7f87be74d6a0
3922 15:46:41.772556 strlen("cyrus") = 5
3922 15:46:41.772599 strcpy(0x1f48ee1, "cyrus") = 0x1f48ee1
3922 15:46:41.772643 strlen("sasl_") = 5
3922 15:46:41.772685 snprintf("\001\200\255\373\377\177", 5102666,
"\377\377\377\377\377\377\377\377"...) = 27
3922 15:46:41.772736 malloc(7) = 0x1f49670
3922 15:46:41.772780 strlen("sasl_") = 5
3922 15:46:41.772822 snprintf("\001\200\255\373", 5102666,
"\377\377\377\377\377\377\377\377"...) = 24
3922 15:46:41.772871 strcmp("imap_sasl_auxprop_plugin",
"partition-default") = -1
3922 15:46:41.772920 strcmp("sasl_auxprop_plugin",
"partition-default") = 1
3922 15:46:41.772967 strcmp("sasl_auxprop_plugin",
"sasl_auxprop_plugin") = 0
3922 15:46:41.773015 malloc(7) = 0x1f49670
3922 15:46:41.773056 malloc(48) = 0x1f49690
3922 15:46:41.773482 malloc(8) = 0x1f496d0
3922 15:46:41.795036 malloc(4568) = 0x1f8fc10
3922 15:46:41.795087 malloc(192) = 0x1f8c020
3922 15:46:41.795130 malloc(5) = 0x1f574b0
3922 15:46:41.795172 malloc(150) = 0x1f8c0f0
3922 15:46:41.795212 malloc(150) = 0x1f8c190
3922 15:46:41.795253 malloc(8) = 0x1f55c30
3922 15:46:41.795294 malloc(392) = 0x1f8a220
3922 15:46:41.795335 malloc(12) = 0x1f5fc10
3922 15:46:41.795387 malloc(11) = 0x1f5fc90
3922 15:46:41.795435 malloc(336) = 0x1f8a3b0
3922 15:46:41.795479 --- SIGSEGV (Segmentation fault) ---
3922 15:46:41.796184 +++ killed by SIGSEGV +++
More information about the Info-cyrus
mailing list