cyrus murder, mupdate sucking up CPU
Patrick Radtke
phr2101 at columbia.edu
Tue Mar 7 10:38:05 EST 2006
We have the same/similar problems with mupdate on RHEL4.
Our problem usually shows up when we are creating new users or if
users are creating new mailboxes. The mailbox creation may hang or go
extremely slow (and eventually start hanging). This seems to be
linked to when a frontend restarts and is synching its mailbox list.
Mupdate uses 99% of cpu apparently doing nothing. If we do the strace
-f -p then the the process does idle, but also stops doing anything
at all (nothing is logged to the log files from that point on).
If we restart the murder master, then all our frontends (10) and
backends (14) reconnect and the murder master starts dropping
connections, and the frontends connect again and then get
disconnected (and so on). we're still investigating this one. The
worker thread count keeps increasing as the frontends keep
reconnecting. It seems our only way to restart the murder master is
by using iptables to block connections from the backends and then
slowly re-allow connections once the frontends have re-synched. It
appears that frontends re-synching and backends creating mailboxes at
the same time do not get along in our setup.
-Patrick
On Mar 3, 2006, at 2:53 PM, Aleksandar Milivojevic wrote:
> I've asked about this problem earlier while trying out version
> 2.3.1. I've just compiled 2.3.3 (Simon's SRPM package) and still
> having the same problem. This is the show stopper for me for
> upgrading from 2.2 to 2.3.
>
> The problem is mupdate process sucks all CPU cycles it can get.
>
> Now for the weird stuff.
>
> Running strace -p 3990 (3990 being PID of mupdate process) just
> shows it waiting in accept system call.
>
> However, running strace -f -p 3990 showed this:
>
> [pid 3995] clock_gettime(CLOCK_REALTIME, <unfinished ...>
> [pid 3998] futex(0x8122134, FUTEX_WAKE, 1 <unfinished ...>
> [pid 3995] <... clock_gettime resumed> {1141412737, 901972000}) = 0
> [pid 3994] <... futex resumed> ) = 0
> [pid 3998] <... futex resumed> ) = 1
> [pid 3995] futex(0x8119fe0, FUTEX_WAKE, 1 <unfinished ...>
> [pid 3994] futex(0x8122134, FUTEX_WAKE, 1 <unfinished ...>
> [pid 3998] gettimeofday( <unfinished ...>
> [pid 3995] <... futex resumed> ) = 0
> [pid 3994] <... futex resumed> ) = 0
> [pid 3998] <... gettimeofday resumed> {1141412737, 902155}, NULL) = 0
> [pid 3995] futex(0x8119fe4, FUTEX_WAIT, -106641967, {59,
> 994760000} <unfinished ...>
> [pid 3994] time( <unfinished ...>
> [pid 3998] clock_gettime(CLOCK_REALTIME, <unfinished ...>
> [pid 3995] <... futex resumed> ) = -1 EAGAIN (Resource
> temporarily unavailable)
> [pid 3994] <... time resumed> NULL) = 1141412737
> [pid 3998] <... clock_gettime resumed> {1141412737, 902307000}) = 0
> [pid 3995] futex(0x8119fe0, FUTEX_WAIT, 2, NULL <unfinished ...>
> [pid 3994] select(7, [6], NULL, NULL, {0, 0}finished ...>
> [pid 3992] <... clock_gettime resumed> {1141412737, 903913000}) = 0
>
> Now the strange thing, after I exit strace, mupdate starts to
> behave and goes to idling. Attaching again to it with strace still
> shows the same output, but it is not consuming almost any CPU
> cycles. However, it is still huge, around 170MB.
>
> Even more strange is that if I restart it (stop Cyrus, start it
> again), the new mupdate process also seems to work OK!? Reboot the
> system, and get the same problem again.
>
> Could it be that I'm hitting a bug somewhere else in the system
> (like kernel)? Is anybody else running Cyrus 2.3.x in murder
> configuration on CentOS4 or RHEL4 (update 2)?
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
>
> ----
> 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