imapd 2.2.8 crashing with any services enabled in cyrus.conf (REPOST)

Darrell Berry darrell at ku24.com
Fri Oct 8 03:06:51 EDT 2004


(sorry, reposting as my original post didn't seem to hit the list)

Hi

I'm attempting to build imapd 2.2.8 with sasl 2.1.19 on linux 2.4.27 
(debian sarge). I'm basically following the HOWTO at 
http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/t1.html, 
with things tweaked slightly for current versions.

config for SASL was

./configure --enable-anon --enable-plain --enable-login --disable-krb4 
--disable-otp --with-saslauthd=/var/run/saslauthd 
--with-pam=/lib/security --with-dblib=berkeley 
--with-bdb-libdir=/usr/local/bdb/lib 
--with-bdb-incdir=/usr/local/bdb/include 
--with-plugindir=/usr/local/lib/sasl2 --without-des --with-pam

and for imapd:

./configure --with-sasl=/usr/local/lib --with-perl --with-auth=unix 
--with-bdb=/usr/local/bdb --with-bdb-libdir=/usr/local/bdb/lib 
--with-bdb-incdir=/usr/local/bdb/include --with-openssl=/usr/local/ssl 
--without-ucdsnmp

Berkely DB is db-4.2.52.NC, installed into /usr/local/bdb

-- 

Everything built cleanly. Config files are pretty much the ones from the 
HOWTO.

If I start master with a cyrus.conf which only deals with the 
'housekeeping', everything looks good: suitably housekeepingish message 
in /var/log/messages. However as soon as i uncommment any of hte 
SERVICES lines in cyrus.conf, and restart master, it (or the process its 
calling?) simply segfaults. Regardless of which service (imapd, pop 
etc), an strace of master always ends similar to this:

<snip>
open("/lib/libnss_files.so.2", O_RDONLY) = 7
read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\35"..., 
512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=34520, ...}) = 0
old_mmap(NULL, 33720, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x4034d000
old_mmap(0x40355000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
7, 0x8000) = 0x40355000
close(7)                                = 0
open("/usr/local/ssl/lib/libdb3.so.3", O_RDONLY) = -1 ENOENT (No such 
file or directory)
open("/usr/local/bdb/lib/libdb3.so.3", O_RDONLY) = -1 ENOENT (No such 
file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/usr/lib/libdb3.so.3", O_RDONLY)  = 7
read(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\311"..., 
512) = 512
fstat64(7, {st_mode=S_IFREG|0644, st_size=692456, ...}) = 0
old_mmap(NULL, 696044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 7, 0) = 0x40356000
old_mmap(0x403ff000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 
7, 0xa8000) = 0x403ff000
close(7)                                = 0
munmap(0x40018000, 51147)               = 0
open("/etc/mtab", O_RDONLY)             = 7
fstat64(7, {st_mode=S_IFREG|0644, st_size=185, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x40018000
read(7, "/dev/hdc2 / reiserfs rw 0 0\nproc"..., 4096) = 185
close(7)                                = 0
munmap(0x40018000, 4096)                = 0
open("/proc/stat", O_RDONLY)            = 7
fstat64(7, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x40018000
read(7, "cpu  530620 0 112755 2023022\ncpu"..., 4096) = 624
read(7, "", 4096)                       = 0
close(7)                                = 0
munmap(0x40018000, 4096)                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
nesumi:~/src#

...now the only thing (from playing with cyrus years ago) that tweaks my 
  intuition here is that its trying REALLY HARD to find a libdb3.so.3 
just before it dies, and i know that cyrus and bdb have always been 
problematic if various bits of the system are compiled against different 
releases of it. But:

ldd /usr/cyrus/bin/master
         libresolv.so.2 => /lib/libresolv.so.2 (0x40025000)
         libdb-4.2.so => /usr/local/bdb/lib/libdb-4.2.so (0x40037000)
         libssl.so.0.9.7 => /usr/local/ssl/lib/libssl.so.0.9.7 (0x400f1000)
         libcrypto.so.0.9.7 => /usr/local/ssl/lib/libcrypto.so.0.9.7 
(0x4011f000)
         libc.so.6 => /lib/libc.so.6 (0x40212000)
         libdl.so.2 => /lib/libdl.so.2 (0x40345000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

and

ldd /usr/local/sbin/saslauthd
         libcrypt.so.1 => /lib/libcrypt.so.1 (0x40025000)
         libresolv.so.2 => /lib/libresolv.so.2 (0x40052000)
         libpam.so.0 => /lib/libpam.so.0 (0x40064000)
         libc.so.6 => /lib/libc.so.6 (0x4006c000)
         libdl.so.2 => /lib/libdl.so.2 (0x401a0000)
         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

so i really don't knwo what gives -- anyone have any ideas?

thanks







---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list