Cyrus Deadblocking

::.. Teresa_II ..:: teresa_ii at myeburg.net
Sat Dec 27 06:39:59 EST 2008


У пт, 2008-12-26 у 10:52 -0800, Scott Likens пише:
> I've been running Cyrus 2.3.13 successfully on Gentoo (amd64/x86_64)  
> for quite some time without any issues.

Like i did... I am on gentoo x86_64 ~amd64 keyword. Never had any
problems with that. Mailserver isnt that big. I have ca. 60 mailboxes
and trafic is near 450 incomming and 350 outgoing messages per hour.

> It's currently linked against bdb 4.6, however I use skiplist for all  
> my databases as I found overall that is much cleaner in the long run.

Yes, thats what worked for me since quite long time. I had sendmail,
cyrus-sasl and spamassassin(with perl libs) compiled against this
version. 

> However, I can honestly say I have never run into your issue with  
> cyrus starting to hang like that.  However, you want to ensure that  
> both cyrus-sasl and imapd are linked to the same version of bdb,  
> otherwise there's issues.

Try to switch deliver db from skiplist to berkeley format and wait some
time until it starts hanging...

> ... So far the point of this email is pretty pointless, but I wanted  
> to say that switching "distributions" is not ever an acceptable  
> question/answer.

Totaly agree.

> Having more detail from /var/log/messages would be very helpful as  
> cyrus does tend to send debug information to syslog when it's  
> crashing, so we can get more detail of why.

Thats the problem, it just hang. You can see that pretty easy just
trying 
sendmail -bv some at adresss 
never return to promt, because sendmail wait for smmapd to return from
checking mailbox.
Or just start imap client, it will connect, but never get mails and etc.

Identifieng problem is not that easy, because syslog doesn't show any DB
cuptions, or problems. Dmesg isn't reporting anything wrong and strace
on cyrus processes most time just do no output, or write a lot of
select(0...) timeout. - What is not bad, but normal as i heared. Even if
"saying nothing" in strace isnt good, it still doesnt help to identifiy
the Problem.

Throw try and catch i found that removing deliver.db and restart cyrus
leads to longer life until one of cyrus processes hangs again.

So what i did, i completely moved cyrus mail to another server. But
after few mins it did same.

I reinstalled new gentoo system with older glibc-2.8 but problem was
same.

Only thing what helps is to add 
duplicate_db: skiplist
to the imapd.conf

It was running stable on this new machine with this settings and
compiled against sys-libs/db-4.6.21_p3-r1 sys-libs/glibc-2.9_p20081201
and sys-devel/gcc-4.3.2-r1

Now i moved back to the old machine with reinstaled system:
sys-devel/gcc-4.3.2-r1
sys-libs/glibc-2.8_p20080602-r1
sys-libs/db-4.7.25_p1-r1

and runs stable too with skiplist as the deliver.db

As soon i switch back from skiplist i can reproduce the problem.

So, i found solution, but i realy can't say whats wrong. I mean i had
this configuration runned since few years allready. Realy didn't changed
anything radicaly in cyrus.

I am happy now with running stable again, but if i can provide some more
info to identify what was wrong, i would like to help.

-- 
Teresa



More information about the Info-cyrus mailing list