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