Tracking down signaled to death by 11 errors

Shawn Sivy ssivy at tcnj.edu
Tue Jun 1 13:53:33 EDT 2004


I think the problem is related to the cyrus.* files.  It seems that a 
lot of the users having problems and causing the signaled to death by 11 
errors have cyrus.*.NEW files.  What would cause the .NEW files to 
remain?  A reconstruct seems to fix the problem, but anyone know what 
may be causing this in the first place.  The only time I've seen this 
before is when a reconstruct was aborted.

I'll try to run a full reconstruct on the message store.  What risks are 
there running a reconstruct while users are accessing their email?

Thanks for any help,

  -Shawn

Shawn Sivy wrote:

> 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



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