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