Is delayed expunge supposed to work in subfolders?
I have this in cyrus.conf:
delprune cmd="cyr_expire -E 3 -X 2" at=0400
I've understood that this is supposed to mean that if delayed expuge is used
and folder annotations does not specify anything else then messages are
supposed to be deleted from all folders after two days.
More information. I tried to run the cyr_expire from shell and it
segfaulted:
$ cyr_expire -E 3 -X 2 -v
expunging deleted messages in mailboxes older than 2 days
Segmentation Fault
(gdb) bt
#0 process_records (mailbox=0xffbff078, newindex=0xe2dd0,
index_base=0xfeca0000 <Address 0xfeca0000 out of bounds>, exists=21,
deleted=0xe5b88, numdeleted=0xffbfbed4, quotadeleted=0xffbfbee8,
numansweredflag=0xffbfbee4, numdeletedflag=0xffbfbee0,
numflaggedflag=0xffbfbedc, newcache=0xe2dc0,
new_cache_total_size=0xffbfbed8, expunge_fd=-1, last_offset=0,
decideproc=0x16e18 <expire_cb>, deciderock=0xffbffd58,
expunge_flags=2) at mailbox.c:1930
#1 0x0001ad08 in mailbox_expunge (mailbox=0xffbff078,
decideproc=0x16e18 <expire_cb>, deciderock=0xffbffd58, flags=-4210808)
at mailbox.c:2306
#2 0x000170c8 in expire (name=0xffbff5d8 "user.atmaso",
matchlen=-4197520,
maycreate=1, rock=0xffbffd58) at cyr_expire.c:224
#3 0x0002034c in find_cb (rockp=0xffbffca8,
key=0xfc89b330 <Address 0xfc89b330 out of bounds>, keylen=11,
data=0xfc89b340 <Address 0xfc89b340 out of bounds>, datalen=37)
at mboxlist.c:1973
#4 0x00039d24 in myforeach (db=0xe4ad8, prefix=0xffbff8c8 "*",
prefixlen=0,
goodp=0x1ffbc <find_p>, cb=0x20268 <find_cb>, rock=0xffbffca8,
tid=0x0) at cyrusdb_skiplist.c:996
#5 0x00020944 in mboxlist_findall (namespace=0x0, pattern=0xffbffd88 "*",
isadmin=1, userid=0x0, auth_state=0xffbff8c8, proc=0, rock=0xffbffca8)
at mboxlist.c:2165
#6 0x000173f8 in main (argc=6, argv=0xffbffe64) at cyr_expire.c:310
mailbox.c:1930
1927 /* Compute size of this record */
1928 cacheitembegin = cacheitem = mailbox->cache_base +
cache_offset;
1929 for (cache_ent = 0; cache_ent < NUM_CACHE_FIELDS;
cache_ent++) {
1930 cacheitem = CACHE_ITEM_NEXT(cacheitem);
1931 }
1932 cache_record_size = (cacheitem - cacheitembegin);
1933 *new_cache_total_size += cache_record_size;
1934
1935 /* fwrite will automatically call write() in a sane
way */
--
Leena Heino University of Tampere / Computer Centre
( liinu at uta.fi ) ( http://www.uta.fi/laitokset/tkk )
----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html