On Mon, Feb 14, 2005 at 11:06:39AM -0200, Andreas Hasenack wrote: > After upgrading to 2.1.11 this morning I started to get random segfaults when > switching mailboxes (closing one and opening the other): > > #0 index_fetchreply (mailbox=0x8130f80, msgno=28, rock=0xbfffc410) at > index.c:2371 > #1 0x080600ad in index_forsequence (mailbox=0x8130f80, sequence=0x81450d5 > "", usinguid=0, proc=0x80632e0 <index_fetchreply>, > rock=0xbfffc410, fetchedsomething=0xbfffc390) at index.c:1524 > #2 0x080514a0 in cmd_fetch (tag=0x8144fa0 "a0008", sequence=0x2ad0fcb0 > <Address 0x2ad0fcb0 out of bounds>, usinguid=0) at imapd.c:3092 > #3 0x0805cf06 in cmdloop () at imapd.c:1081 > #4 0x0805f69b in service_main (argc=1, argv=0x813b008, envp=0xbfffec0c) at > imapd.c:689 > #5 0x0804c8f7 in main (argc=1, argv=0x5c93f, envp=0xbfffec0c) at > service.c:530 > > I'm using GSSAPI over TLS and mutt as a client.
FYI, reverting the change from 2.2.10 -> 2.2.11 in index.c stopped the segfaults here (for now at least, I didn't check all the implications yet): --- cyrus-imapd-2.2.11/imap/index.c~ 2005-01-24 01:06:51.000000000 -0200 +++ cyrus-imapd-2.2.11/imap/index.c 2005-02-14 11:19:53.515226784 -0200 @@ -207,7 +207,8 @@ seendb = 0; } if (index_len) { - /* Let caller call mailbox_close() to unmap */ + map_free(&index_base, &index_len); + map_free(&cache_base, &cache_len); index_len = cache_end = 0; } } --- 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