Hello

A few month ago I installed dbmail-2.0.7 on OpenBSD 3.7 with porstgresql-7.4.3p2.

It was running fine until yesterday the box was extremely slow. After some investigation I saw lots of dbmail-imapd zombies and about 20 imapd processes using up 100% CPU.

Killing them didn't work so I killed all with -9 and restarted imapd.

Today the box was in the same state. So i upgraded to 2.0.9 and restarted imapd.

But I saw a few error messages on the console:
 dbmail-imap4d[12554]: serverchild.c,CreateChild: child_register failed

Looking at the code in CreateChild I'd say the handling of fork failures is wrong, maybe the following patch solves the problem:

Index: serverchild.c
===================================================================
--- serverchild.c       (revision 2053)
+++ serverchild.c       (working copy)
@@ -175,6 +175,11 @@
 {
        id_t pid = fork();

+       if (pid == -1) {
+               trace(TRACE_FATAL, "%s,%s: fork failed",
+                       __FILE__, __func__);
+               return pid;
+       }
        if (! pid) {
                if (child_register() == -1) {
                        trace(TRACE_FATAL, "%s,%s: child_register failed",

The versin I run now does not contain that patch because I want to see if it happens again with 2.0.9.

Sorry for the noise if it's already fixed.

Thanks
Martin

Reply via email to