> 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.
Hi, I'm not an expert on these things but I had success lately debugging some problems on linux. First I used strace in ltrace on follow mode: strace -f /path_to_cyrus/master ltrace -f /path_to_cyrus/master While it produces lots of output, you can easily catch it in a file and examine single processes by grepping the pid. Then, I tried creating a backstracke of killed imapd processes. I installed a debugging imapd binary in /path_to_cyrus/ and set 'ulimit -c 100000000' to make it dump core. Then I started cyrus-imapd until various core files showed up in the imap spool directories. Now I ran gdb on the core file and produced a backtrace which showed the exact place where the problem in the code was. I'm not sure about the equivalent commands on Solaris 9 but I'm sure you'll find out. Simon > > 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