This smells like a corrupted cyrus.index file; try running reconstruct on
the affected mailbox.
Larry
--On Tuesday, November 28, 2000 10:22:03 AM +0100 Artur Frysiak
<[EMAIL PROTECTED]> wrote:
> Hello
> I have cyrus-imapd 2.0.7.
> Some time imapd eat 90% CPU time.
> I start gdb and see:
> (gdb) where
> #0 parse_cached_envelope (env=0x810f9b0 "\"Sat, 25 Nov 2000 18:26:49
> +0100", tokens=0xbffff2d4) at index.c:3019 #1 0x805c191 in
> index_msgdata_load (msgno_list=0x810d7a8, n=145, sortcrit=0x810d5d0) at
> index.c:2970 #2 0x80589b6 in index_sort (mailbox=0x80fa8e0,
> sortcrit=0x810d5d0, searchargs=0x810d6c0, usinguid=1) at index.c:1054 #3
> 0x8051df6 in cmd_sort (tag=0x810c0d8 "00000010", usinguid=1) at
> imapd.c:2917 #4 0x804e3fe in cmdloop () at imapd.c:1148
> #5 0x804c647 in service_main (argc=1, argv=0xbffffd04, envp=0xbffffd0c)
> at imapd.c:471 #6 0x804b41e in main (argc=1, argv=0xbffffd04,
> envp=0xbffffd0c) at service.c:223 (gdb) list
> 3014 {
> 3015 char *c;
> 3016 int i = 0, len, ncom;
> 3017
> 3018 c = env;
> 3019 while (*c != '\0') {
> 3020 switch (*c) {
> 3021 case ' ': /* end of token */
> 3022 *c = '\0'; /* mark end of token */
> 3023 c++;
> (gdb) print *c
> $1 = 41 ')'
> (gdb) n
> 3020 switch (*c) {
> 1: *c = 41 ')'
> (gdb)
> 3019 while (*c != '\0') {
> 1: *c = 41 ')'
> (gdb)
> 3020 switch (*c) {
> 1: *c = 41 ')'
> (gdb)
> 3019 while (*c != '\0') {
> 1: *c = 41 ')'
> (gdb)
> 3020 switch (*c) {
> 1: *c = 41 ')'
> (gdb)
> 3019 while (*c != '\0') {
> 1: *c = 41 ')'
> (gdb)
> 3020 switch (*c) {
> 1: *c = 41 ')'
>
> Regards
> --
> Artur Frysiak
> http://www.pld.org.pl/