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/

Reply via email to