segfaults when executing quota command

Craig White craigwhite at azapple.com
Sat Apr 2 19:57:03 EST 2005


I suspect that this is caused by my setup.

I have 2 different RHEL 3 systems of which I compiled from source a
number of things including openldap, cyrus-sasl, heimdal-kerberos,
openssl and what I perceive to the problem, sleepycat db-4.2.52 (+ a
couple of patches for openldap transactions).

On these systems, I downloaded the rpm's from invoca.ch (Simon Matter)
and rebuilt them before installing.

# rpm -q cyrus-imapd
cyrus-imapd-2.2.10-11

# uname -a
Linux srv1.tobyhouse.com 2.4.21-20.ELsmp #1 SMP Wed Aug 18 20:46:40 EDT
2004 i686 i686 i386 GNU/Linux
(yeah I know...I need to reboot to new kernel)

Anyway, I haven't had a problem with other uses of db4 - which I do have
the RHEL rpm's still installed...

# rpm -q db4
db4-4.1.25-8

but from command line...
# which db_verify
/usr/local/bin/db_verify

db4 is clearly using the newer version installed in /usr/local

anyway...
since any and all attempts to run quota segfault, I have included the
end of the stream of an strace on the command which may help someone
tell me what I need to do

# strace su - cyrus -c '/usr/lib/cyrus-imapd/quota -f'
...lots of trace snipped...
open("/var/lib/imap/db/skipstamp", O_RDONLY) = 4
read(4, "BH;j", 4)                      = 4
close(4)                                = 0
time(NULL)                              = 1112487794
getpid()                                = 24946
stat64("/var/lib/imap", {st_mode=S_IFDIR|0750, st_size=4096, ...}) = 0
open("/var/lib/imap/quota", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY)
= 4
fstat64(4, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
getdents64(4, /* 14 entries */, 4096)   = 336
getdents64(4, /* 0 entries */, 4096)    = 0
close(4)                                = 0
open("/var/lib/imap/quota/e", O_RDONLY|O_NONBLOCK|O_LARGEFILE|
O_DIRECTORY) = 4
fstat64(4, {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
getdents64(4, /* 3 entries */, 4096)    = 80
getdents64(4, /* 0 entries */, 4096)    = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

and my problem with this may have nothing whatsoever to do with db4 - I
simply don't know - it is just a guess. I know that using the same
versions of cyrus-imapd on an RHEL system (which I didn't have to
compile all of that other from source since openldap was close to up to
date), I haven't had that problem.

Thanks

Craig

---
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