unexpunge Bus Error (signal 7) [Was: Re: ipurge and delayed expunge]

Adam Tauno Williams awilliam at whitemice.org
Fri Jun 26 20:47:59 EDT 2009


On Fri, 2009-06-26 at 14:43 -0400, Adam Tauno Williams wrote:
> On Fri, 2009-06-26 at 12:35 -0400, Brian Awood wrote:
> > This issue is fixed in CVS;
> > http://lists.andrew.cmu.edu/pipermail/info-cyrus/2009-March/030753.html
> Sweet, it appears this patch is included in Simon's awesome RPMs!
> cyrus-imapd-2.3.14-unexpunge.patch
> <http://www.invoca.ch/pub/packages/cyrus-imapd/>

I've updated and ran ipurge.  ipurge ran without incident and seems to
have performed exactly as expected.  But now if I test unexpunge on some
of the mailboxes ipurge touched it crashes; other mailboxes seem fine.

sudo -u cyrus "/usr/lib/cyrus-imapd/unexpunge -v -l user.adam.sent-mail"
...
Bus error

A reconstruct works, but then none of the expunged messages appear (list
from unexpunge -l is empty).  Should a reconstruct loose expunged
messages in delayed expunge mode?

A backtrace from the core looks like -
...
Loaded symbols for /lib/libsepol.so.1
Core was generated by `/usr/lib/cyrus-imapd/unexpunge -v -l
user.adam.sent-mail'.
Program terminated with signal 7, Bus error.
[New process 9137]
#0  list_expunged (mailbox=0xbfa32874, msgs=0x8b63628, exists=6,
expunge_index_base=0xb6828000 <Address 0xb6828000 out of bounds>)
    at unexpunge.c:150
150		cacheitem = CACHE_ITEM_NEXT(cacheitem); /* skip envelope */
(gdb) bt
#0  list_expunged (mailbox=0xbfa32874, msgs=0x8b63628, exists=6,
expunge_index_base=0xb6828000 <Address 0xb6828000 out of bounds>)
    at unexpunge.c:150
#1  0x0804e326 in main (argc=4, argv=0xbfa34c74) at unexpunge.c:632

Environment:
Linux 2.6.18-128.1.10.el5 #1 SMP i686 i686 i386 GNU/Linux
gcc-4.1.2-44.el5
glibc-2.5-34
cyrus-imapd-2.3.14-8
autoconf-2.59-12
automake-1.9.6-2.1



More information about the Info-cyrus mailing list