1

A Debian server with an existing (and perfectly) running cyrus imapd run out of disk space. After deleting some unused old stuff, there is enough space again. But for one single specific user it is no longer possible to connect via imaps:

Apr 10 20:55:21 myhost cyrus/master[1775]: about to exec /usr/lib/cyrus/bin/imapd
Apr 10 20:55:21 myhost cyrus/imaps[1775]: executed
Apr 10 20:55:21 myhost cyrus/imaps[1775]: accepted connection
Apr 10 20:55:37 myhost cyrus/imaps[1775]: mystore: starting txn 2147483675
Apr 10 20:55:37 myhost cyrus/imaps[1775]: mystore: committing txn 2147483675
Apr 10 20:55:37 myhost cyrus/imaps[1775]: starttls: TLSv1 with cipher AES128-SHA (128/128 bits new) no authentication
Apr 10 20:55:45 myhost cyrus/imaps[1775]: login: [<local ip number>] <myuser>     PLAIN+TLS User logged in
Apr 10 20:55:46 myhost cyrus/master[1235]: process 1775 exited, signaled to death by 7
Apr 10 20:55:46 myhost cyrus/master[1235]: service imaps pid 1775 in BUSY state: terminated abnormally

I've tried to run cyrreconstruct -r user.<userid>, tried to reboot the box, all without success. It's definitely not a client side issue, tried with thunderbird and mutt - both fail.

The strange thing is, every other user could use the imap server without any problem, it just fails for this specific user.

Any hints how to make the user's imap access working again.

ADDENDUM: I've enabled protocol level logging for the questionable user, it shows that imapd process dies after receiving an imap SELECT "INBOX" command.

  • 1
    Could the master mailbox file be damaged? Does `cyradm` show the user's mailboxes? – cjc Apr 10 '12 at 19:10
  • In the Red Hat package, there's a nightly script that essentially runs `su - cyrus -c "/usr/lib/cyrus-imapd/ctl_mboxlist -d"` to dump out a plaintext of the mailbox list. Does that produce useful output in your case for that user? – cjc Apr 10 '12 at 19:48
  • using cyradm with the failing user's credentials and then 'lm' shows up his mail folder tree; ctl_mboxlist -d also gives a full list of all mailbox folder of all users. – Stefan Armbruster Apr 10 '12 at 20:19
  • 1
    Take a look at this: http://www.irbs.net/internet/info-cyrus/0811/0060.html So, the "signaled to death by 7" suggests that the "seen" file for the user's mailbox may be corrupt. You might also increase the logging level to see which file the process is crashing when trying to access. – cjc Apr 10 '12 at 20:24
  • Exactly that was the solution: I've removed the user's .seen file in /var/lib/cyrus/user. Thx a lot, please paste your comment into an answer that I can give you the credits. You've saved my day! – Stefan Armbruster Apr 10 '12 at 20:28

1 Answers1

2

The "signaled to death by 7" message in the log was apparently caused by the mailbox's "Seen" file being corrupted by the disk space issue:

http://www.irbs.net/internet/info-cyrus/0811/0060.html

If it wasn't the "Seen" file, increased server-side logging should show which file was being accessed as the IMAP process dies.

cjc
  • 24,916
  • 3
  • 51
  • 70