DB Errors [SOLVED]

Christos Soulios soulbros at noc.uoa.gr
Sat Apr 30 05:04:22 EDT 2005


Hi again Daniel.
I just saw that you use cyrus-imapd-2.2.10, packaged in YDL 4.0. And this
bug has been fixed in autocreate patch for cyrus-2.2.10 for quite
sometime.

The autocreate patch for cyrus-imapd-2.2.10 (patch versions 0.9.0 & 0.9.1)
checks userinbox variable and does not sefault.

<snip from autocreate_inbox() in lmtpd.c patch 0.9.0>
+
+    if(rcpt_userid == NULL)
+	    return IMAP_MAILBOX_NONEXISTENT;
+
</snip>

So what I can think of are the following :

1. Your distro did not include this fix in the distributed cyrus package.
2. Segfault is caused by something else.

Please check your sources and let me know if I can do something to fix it.

Regards,
Christos




Daniel Hazelbaker said:
Okay, after knocking down our mail server for an hour to track this
down I have a solution.  I do not remember where, but somewhere when I
was setting this up years ago I read that the method for delivering
from postfix->procmail->spamassassin->cyrus was to have postfix deliver
to procmail, and procmail instruct spamassassin to do its thing. Then
to use the cyrus deliver program with "-a $LOGNAME -m user.$LOGNAME" to
deliver the message.  Well what was happening is this:

Breakpoint 1, verify_user (user=0x0, domain=0x0, mailbox=0x100f8189
"user.kristina", quotacheck=0, authstate=0x0) at lmtpd.c:554

This combination (user = null and mailbox != null and mailbox does not
exist) would cause verify_user to pass userinbox (== null) to
autocreate_inbox, which would strcmp without any error checking and
segfault.

The solution seems to be to change the deliver line to just "-a
$LOGNAME $LOGNAME" and it seems to work properly for everything.

Daniel Hazelbaker

On Apr 26, 2005, at 4:45 PM, Daniel Hazelbaker wrote:

> I don't believe it is no symbols, I believe it is smashing the stack
> somehow (those are the only two entries in the stack).  Can't imagine
> how strcmp is smashing the stack but I suppose anything is possible.
> I'll try to attach, but I thought lmtpd forked a child process in the
> same way httpd does, maybe not though.

---
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



-- 
Did you visit http://email.uoa.gr?

---
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