Ilya wrote:
> 
> I am seeing a lot of core dumps of imapd. I am not sure about exact moment,
> but I think it happens during switching between folders (useng outlook). I
> compiled debug version of cyrus, and here is a backtrace, core is usally
> found in spool/user/folder directory
> 
> Program terminated with signal 11, Segmentation fault.
> #0  0x807dc71 in mydelete (db=0x811e600, key=0x0, keylen=675089508, tid=0x0,
> force=0)
>     at cyrusdb_skiplist.c:1159
> 1159                newoffset = htonl(FORWARD(ptr, i));
> (gdb) bt
> #0  0x807dc71 in mydelete (db=0x811e600, key=0x0, keylen=675089508, tid=0x0,
> force=0)
>     at cyrusdb_skiplist.c:1159
> #1  0x805fbae in remove_session (
>     id=0x811e648
> "v*4\003\207\236æ*ÛX\217B­·\036W\031¤\022CNJ\fº\023\217péèñå\017\004",
> idlen=32) at tls.c:455
> #2  0x805fbf7 in remove_session_cb (ctx=0x811e600, sess=0x811e600) at
> tls.c:479

First off, AFAIK there was never any testing done with skiplist for
deliver.db or tls_sessions.db.  I'm not even sure that's its recommended
for these db (I seem to recall that Larry gave a reason and I know CMU
only uses skiplist for mailboxes.db and seen state).

There's obviously some sort of heap corruption since a NULL pointer is
being passed to the skiplist delete function as the key, and a
SSL_SESSION pointer and cyrusdb pointer both point to the same memory
address, but this backtrace doesn't tell us where it happened.  I
haven't seen this behavior with the db3 backend.  You could try
switching to db3-nosync and see if the problem persists.


> #3  0x281bd595 in ?? ()
> #4  0x281bd482 in ?? ()
> #5  0x281bfcf4 in ?? ()
> #6  0x281b943c in ?? ()
> #7  0x281beb0d in ?? ()
> #8  0x281b6037 in ?? ()
> #9  0x281b583f in ?? ()
> #10 0x281beb0d in ?? ()
> #11 0x8060240 in tls_start_servertls (readfd=135390720, writefd=0,
> layerbits=0x0, authid=0x0, ret=0x0)
>     at tls.c:809
> #12 0x8054e1f in cmd_starttls (tag=0x0, imaps=1) at imapd.c:4323
> #13 0x804d151 in service_main (argc=135390720, argv=0x0, envp=0x0) at
> imapd.c:575
> #14 0x804bdd6 in main (argc=135390720, argv=0x0, envp=0x0) at service.c:414
> 
> name       : Cyrus IMAPD
> version    : v2.1.3 2002/03/07 20:00:42
> vendor     : Project Cyrus
> support-url: http://asg.web.cmu.edu/cyrus
> os         : FreeBSD
> os-version : 4.5-STABLE
> environment: Cyrus SASL 2.1.2
>              Sleepycat Software: Berkeley DB 3.2.9: (January 24, 2001)
>              OpenSSL 0.9.6a 5 Apr 2001
>              CMU Sieve 2.1
>              TCP Wrappers
>              lock = fcntl
>              auth = unix
>              idle = poll
>              mboxlist.db = skiplist
>              subs.db = skiplist
>              seen.db = skiplist
>              duplicate.db = skiplist
>              tls.db = skiplist

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

Reply via email to