Simon Matter wrote:

Simon Matter wrote:


Simon Matter wrote:


How again do I get them?

Does the cyrus user have write access to whatever directory you started master in? You may also find cores in user mailbox directories.


Thanks, I didn't cd to /var/lib/imap. The next rpm will have a core
dump
mode :)


This looks like the mailbox header is corrupt. Are you sure that this only fails with 2.2.7 and not 2.2.6? I'd also be interested if you see the same results from a stock (unpatched) 2.2.7.

Okay, this one is from stock, unpatched 2.2.7 lmtpd:


Another, different one, I'm wondering whether process_recipient() is
correct here, why is the recipient "<dewinala" but the account is just
"dewinala":

No, that's fine, the leading '<' gets stripped.

I think Rob is right in that the heap is getting corrupted. If you're running on a Linux box (which I'm sure you are), can you:

stop master
export MALLOC_CHECK_=2
ulimit -c unlimited
start master


This will cause malloc/free to abort as soon as something bad happens. This is the only way that I have been able to detect such problems in the past, as the crashes typically happen randomly after the corruption.


Once you get a core, send the backtrace and hopefully is will point out the problem. The more backtraces the better.


(gdb) bt #0 0x4207a35a in chunk_alloc () from /lib/i686/libc.so.6 #1 0x4207a158 in malloc () from /lib/i686/libc.so.6 #2 0x0809172f in xmalloc (size=9) at xmalloc.c:56 #3 0x08091836 in xstrdup (str=0x814a249 "dewinala") at xmalloc.c:91 #4 0x08050824 in process_recipient (addr=0x814a248 "<dewinala", namespace=0x81203e0, ignorequota=0, verify_user=0x804ec30 <verify_user>, msg=0x8134ed8) at lmtpengine.c:879 #5 0x08051da6 in lmtpmode (func=0x811bbc0, pin=0x8135268, pout=0x81352d8, fd=0) at lmtpengine.c:1527 #6 0x0804e250 in service_main (argc=1, argv=0x812adb0, envp=0xbfffee7c) at lmtpd.c:230 #7 0x0804dfd9 in main (argc=1, argv=0xbfffee74, envp=0xbfffee7c) at service.c:557 #8 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6



(gdb) bt
#0  0x4207a351 in chunk_alloc () from /lib/i686/libc.so.6
#1  0x4207a158 in malloc () from /lib/i686/libc.so.6
#2  0x0809172f in xmalloc (size=9) at xmalloc.c:56
#3  0x08091870 in xstrndup (str=0x4001a092 <Address 0x4001a092 out of
bounds>, len=8) at xmalloc.c:98
#4  0x08059f3b in mailbox_read_header (mailbox=0xbfffb900) at
mailbox.c:652
#5  0x08059856 in mailbox_open_header_path (name=0xbfffbc00
"user.schwemar", path=0x8121580 "/var/spool/imap/s/user/schwemar",
   acl=0x813e9d8 "schwemar\tlrswipcda\t", auth_state=0x0,
mailbox=0xbfffb900, suppresslog=0) at mailbox.c:444
#6  0x080596d8 in mailbox_open_header (name=0xbfffbc00 "user.schwemar",
auth_state=0x0, mailbox=0xbfffb900) at mailbox.c:390
#7  0x08056efa in append_check (name=0xbfffbc00 "user.schwemar", format=0,
auth_state=0x0, aclcheck=0, quotacheck=0) at append.c:118
#8  0x0804edf2 in verify_user (user=0x8146d40 "schwemar", domain=0x0,
mailbox=0x0, quotacheck=0, authstate=0x0) at lmtpd.c:549
#9  0x08050902 in process_recipient (addr=0x814a0f0 "<schwemar",
namespace=0x81203e0, ignorequota=0, verify_user=0x804ec30 <verify_user>,
msg=0x8134ed8)
   at lmtpengine.c:900
#10 0x08051da6 in lmtpmode (func=0x811bbc0, pin=0x8135268, pout=0x81352d8,
fd=0) at lmtpengine.c:1527
#11 0x0804e250 in service_main (argc=1, argv=0x812adb0, envp=0xbffff77c)
at lmtpd.c:230
#12 0x0804dfd9 in main (argc=1, argv=0xbffff774, envp=0xbffff77c) at
service.c:557
#13 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6





Here we go:
(gdb) bt
#0  0x4207a351 in chunk_alloc () from /lib/i686/libc.so.6
#1  0x4207a158 in malloc () from /lib/i686/libc.so.6
#2  0x08092a5f in xmalloc (size=9) at xmalloc.c:56
#3  0x08092ba0 in xstrndup (str=0x4001a092 <Address 0x4001a092 out of
bounds>, len=8) at xmalloc.c:98
#4  0x0805a60b in mailbox_read_header (mailbox=0xbfff9f00) at
mailbox.c:652
#5  0x08059f26 in mailbox_open_header_path (name=0xbfffa210
"user.hauserol", path=0x8122ec0 "/var/spool/imap/h/user/hauserol",
   acl=0x8140300 "hauserol\tlrswipcda\t", auth_state=0x0,
mailbox=0xbfff9f00, suppresslog=0) at mailbox.c:444
#6  0x08059da8 in mailbox_open_header (name=0xbfffa210 "user.hauserol",
auth_state=0x0, mailbox=0xbfff9f00) at mailbox.c:390
#7  0x080575ca in append_check (name=0xbfffa210 "user.hauserol",
format=0,
auth_state=0x0, aclcheck=0, quotacheck=0) at append.c:118
#8  0x0804ef06 in verify_user (user=0x8151298 "hauserol", domain=0x0,
mailbox=0x0, quotacheck=3226, authstate=0x0) at lmtpd.c:593
#9  0x08050b02 in process_recipient (addr=0x8151520 "<hauserol",
namespace=0x8121d20, ignorequota=0, verify_user=0x804ed10
<verify_user>,
msg=0x8136808)
   at lmtpengine.c:900
#10 0x08051fa6 in lmtpmode (func=0x811d340, pin=0x8136b98,
pout=0x8136c08,
fd=0) at lmtpengine.c:1527
#11 0x0804e250 in service_main (argc=1, argv=0x812c6f0,
envp=0xbfffdd8c)
at lmtpd.c:232
#12 0x0804dfd9 in main (argc=1, argv=0xbfffdd84, envp=0xbfffdd8c) at
service.c:557
#13 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6


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



--
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp




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





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



--
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
---
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

Reply via email to