Unexpected database recovery

Henrique de Moraes Holschuh hmh at debian.org
Thu Nov 20 05:05:29 EST 2003

On Thu, 20 Nov 2003, Philipp Sacha wrote:
> I could reproduce stucking behaviour of lmtp by starting cyrus with 5 
> preforked "lmtpd -a" processes. When i kill that processes manually 
> and then try to telnet to port lmtp on the mailserver, i have a stuck 
> lmptd. That means that port lmtp is opened but no prompt appears.

That's a different bug, which is solved. You need the new cyrus master code
that does pid tracking, which has been commited to 2.2 upstream.

Is that the bug you always had?  If so, you applied the wrong patch :(

There is a patch for the child pid tracking/child morgue in bugzila (I don't
recall the number. State is CLOSED I believe), you can apply that to 2.1
(but you need to also compare it to 2.2, I believe one minor mistake was
fixed since then...)

IMHO all that pid tracking code should be added to 2.1 as well.

> How can i verify that the patch is working? I have seen that 
> setsigalrm logs to syslog. Is it therefor sufficient to grep for 
> "SIGALRM" in the cyrus log?

I think so.

The way I usually test for locks is to run The Mad Postman against a postfix
that delivers to cyrus, and tell postfix to do something akin to 200
lmtp deliveries in parallel.

  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

More information about the Info-cyrus mailing list