I was able to get the truss output of one of the imapd processes that
died. I also have the core file that was generated. Is there anything
I can do with the core file to see what was happening at the time it
died? Here's the last few lines of the truss output if it helps.
open("33275.", O_RDONLY) = 17
fstat(17, 0xFFBFD048) = 0
mmap(0x00000000, 2444, PROT_READ, MAP_SHARED, 17, 0) = 0xFEDD0000
close(17) = 0
munmap(0xFEDD0000, 2444) = 0
open("33276.", O_RDONLY) = 17
fstat(17, 0xFFBFD048) = 0
mmap(0x00000000, 2444, PROT_READ, MAP_SHARED, 17, 0) = 0xFEDD0000
close(17) = 0
Incurred fault #6, FLTBOUNDS %pc = 0x00044488
siginfo: SIGSEGV SEGV_MAPERR addr=0x37A13544
Received signal #11, SIGSEGV [default]
siginfo: SIGSEGV SEGV_MAPERR addr=0x37A13544
-Shawn Sivy
The College of New Jersey
Shawn Sivy wrote:
After the upgrade to Cyrus IMAP 2.2.5 (SASL 2.1.18), I've been seeing
a lot of these errors in the logs:
Jun 1 08:42:19 cyrus master[21185]: [ID 970914 local6.error] process
21886 exited, signaled to death by 11
Jun 1 08:43:26 cyrus master[21185]: [ID 970914 local6.error] process
20660 exited, signaled to death by 11
Jun 1 08:43:43 cyrus master[21185]: [ID 970914 local6.error] process
20133 exited, signaled to death by 11
Jun 1 08:47:02 cyrus master[21185]: [ID 970914 local6.error] process
23236 exited, signaled to death by 11
Jun 1 08:47:20 cyrus master[21185]: [ID 970914 local6.error] process
23972 exited, signaled to death by 11
Jun 1 08:47:58 cyrus master[21185]: [ID 970914 local6.error] process
23751 exited, signaled to death by 11
Jun 1 08:48:05 cyrus master[21185]: [ID 970914 local6.error] process
21258 exited, signaled to death by 11
Jun 1 08:49:53 cyrus master[21185]: [ID 970914 local6.error] process
19939 exited, signaled to death by 11
Jun 1 08:51:27 cyrus master[21185]: [ID 970914 local6.error] process
24807 exited, signaled to death by 11
Jun 1 08:51:37 cyrus master[21185]: [ID 970914 local6.error] process
23457 exited, signaled to death by 11
I grepped for the process id's that exited in the log file and see
that they are all imapd processes from various users. I've been
reconstructing their mailboxes hoping that was the cause, but I was
wondering if there is a way to get a better trace of what is
happening. It seems hard to get an strace or truss on the imap
process since you don't know which one will die. Is there any
technique to watching these processes? Is there anything else I
should be looking for? Below is the configure commands I used to
build imap and sasl. I used gcc 3.3.2 on Solaris SPARC 9.
Thanks in advance for any advice,
-Shawn Sivy
The College of New Jersey
For Imap 2.2.5
-------------------
CC=gcc \
CPPFLAGS="-I/local/BerkeleyDB-4.2.52/include -I/local/cyrus/include" \
LDFLAGS="-L/local/BerkeleyDB-4.2.52/lib -R/local/BerkeleyDB-4.2.52/lib" \
LIBS="-lsocket -lnsl" \
./configure \
--prefix=/local/cyrus \
--with-cyrus-prefix=/local/cyrus \
--with-cyrus-user=cyrus \
--with-cyrus-group=mail \
--with-auth=unix \
--enable-netscapehack \
--with-perl=/local/perl/bin/perl \
--enable-murder \
--with-libwrap=/usr/sfw \
--with-openssl=/local/openssl-0.9.7d \
--with-dbdir=/local/BerkeleyDB-4.2.52 \
--with-sasl=/local/sasl2
For Sasl 2.1.18
-------------------
CC=gcc \
LDFLAGS="-L/local/Berkeley-4.2.52/lib -R/local/Berkeley-4.2.52/lib" \
CPPFLAGS="-I/local/Berkeley-4.2.52/include" \
LIBS="-lsocket -lnsl" \
./configure --prefix=/local/sasl2 \
--with-pwcheck \
--with-pam \
--enable-plain \
--enable-login \
--disable-gssapi \
--disable-otp \
--disable-digest \
--disable-cram \
--with-ldap=/local/openldap-2.1.30 \
--with-openssl=/local/openssl-0.9.7d
Here's my /etc/cyrus.conf
----------------------------------
# standard standalone server implementation
START {
# do not delete this entry!
recover cmd="ctl_cyrusdb -r"
# this is only necessary if using idled for IMAP IDLE
# idled cmd="idled"
}
# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
# add or remove based on preferences
imap cmd="imapd" listen="imap" prefork=20
imaps cmd="imapd -s" listen="imaps" prefork=5
pop3 cmd="pop3d" listen="pop3" prefork=0
pop3s cmd="pop3d" -s" listen="pop3s" prefork=0
sieve cmd="timsieved" listen="sieve" prefork=1
# at least one LMTP is required for delivery
# lmtp cmd="lmtpd" listen="lmtp" prefork=0
lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
# this is only necessary if using notifications
# notify cmd="notifyd" listen="/var/imap/socket/notify"
proto="udp" prefork=1
}
EVENTS {
# this is required
checkpoint cmd="ctl_cyrusdb -c" period=30
# this is only necessary if using duplicate delivery suppression
delprune cmd="ctl_deliver -E 3" at=0400
# this is only necessary if caching TLS sessions
tlsprune cmd="tls_prune" at=0400
}
And my imapd.conf
--------------------------
configdirectory: /var/imap
partition-default: /var/spool/imap
partition-imap2: /var/spool/imap2
partition-imap3: /var/spool/imap3
defaultpartition: default
admins: cyrus
#sasl_pwcheck_method: pwcheck
#pwcheck_method: pwcheck
sasl_pwcheck_method: saslauthd
pwcheck_method: saslauthd
sasl_ldap_servers: ldap://159.91.15.182/ ldap://159.91.15.179/
sasl_ldap_filter: uid=%u
sasl_ldap_auth_method: bind
sasl_ldap_search_base: ou=People,dc=tcnj,dc=edu
sasl_ldap_scope: one
ldap_uri: ldap://159.91.15.182/ ldap://159.91.15.179/
ldap_filter: uid=%u
ldap_auth_method: bind
ldap_search_base: ou=People,dc=tcnj,dc=edu
ldap_scope: one
netscapeurl: http://managemail.tcnj.edu/
tls_ca_file: /var/imap/ssl/ca-bundle.crt
tls_cert_file: /var/imap/ssl/imap2003.pem
tls_key_file: /var/imap/ssl/imap2003.pem
sievedir: /var/imap/sieve
# Modified 11/17/02 - BC - 35 is just over the base setting. Base is
unknown.
# Modified 3/18/03 - BC - Changed to 50 - see man page for imapd.conf
#sieve_maxscriptsize: 32
# Maximum size (in kilobytes) any sieve script can be,
# enforced at submission by timsieved(8).
sieve_maxscriptsize: 50
quotawarn: 90
lmtp_over_quota_perm_failure: 1
quota_db: quotalegacy
---
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
---
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