Problems with Cyrus IMAP 2.2.5 on Solaris 9 on production server
Shawn Sivy
ssivy at tcnj.edu
Tue Jun 1 20:55:49 EDT 2004
I'm having all kinds of problems with Cyrus IMAP 2.2.5 on Solaris 9.
System I/O errors, imap processing dying, IOERRORs.
Does anyone have suggestions on what could be the cause? Has anyone
gotten version 2.2.5 working on Solaris (SPARC) 9?
-Shawn
May 30 17:52:57 cyrus lmtpunix[14954]: [ID 240394 local6.error] IOERROR:
opening quota file /var/imap/quota/m/user.macey2: Too many open files
May 30 17:52:57 cyrus lmtpunix[14954]: [ID 335833 local6.error] DBERROR:
error fetching user.macey2: cyrusdb error
May 30 17:52:57 cyrus lmtpunix[14954]: [ID 860734 local6.debug]
verify_user(user.macey2) failed: System I/O error
May 30 17:53:20 cyrus lmtpunix[14954]: [ID 240394 local6.error] IOERROR:
opening quota file /var/imap/quota/s/user.sdhugg: Too many open files
May 30 17:53:20 cyrus lmtpunix[14954]: [ID 335833 local6.error] DBERROR:
error fetching user.sdhugg: cyrusdb error
May 30 17:53:20 cyrus lmtpunix[14954]: [ID 860734 local6.debug]
verify_user(user.sdhugg) failed: System I/O error
May 30 17:53:40 cyrus lmtpunix[14954]: [ID 240394 local6.error] IOERROR:
opening quota file /var/imap/quota/s/user.samuel2: Too many open files
May 30 17:53:40 cyrus lmtpunix[14954]: [ID 335833 local6.error] DBERROR:
error fetching user.samuel2: cyrusdb error
May 30 17:53:40 cyrus lmtpunix[14954]: [ID 860734 local6.debug]
verify_user(user.samuel2) failed: System I/O error
May 30 17:54:05 cyrus lmtpunix[14954]: [ID 240394 local6.error] IOERROR:
opening quota file /var/imap/quota/b/user.balaisi2: Too many open files
May 30 17:54:05 cyrus lmtpunix[14954]: [ID 335833 local6.error] DBERROR:
error fetching user.balaisi2: cyrusdb error
May 30 17:54:05 cyrus lmtpunix[14954]: [ID 860734 local6.debug]
verify_user(user.balaisi2) failed: System I/O error
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
More information about the Info-cyrus
mailing list