[Dovecot] imap process consuming 100% CPU (Dovecot 1.0.3)

Timo Sirainen tss at iki.fi
Sun Sep 30 16:35:26 EEST 2007


On Wed, 2007-09-26 at 09:12 -0600, Jackie Hunt wrote:
> istream-file._read(stream = 0x200274a8), line 120 in "istream-file.c"
> i_stream_read(stream = 0x200274cc), line 58 in "istream.c"
> istream-raw-mbox._read(stream = 0x20028ab8), line 160 in "istream-raw-mbox.c"
> i_stream_read(stream = 0x20028adc), line 58 in "istream.c"
> istream-limit._read(stream = 0x20031458), line 56 in "istream-limit.c"
> i_stream_read(stream = 0x2003147c), line 58 in "istream.c"
> istream-header-filter._read(stream = 0x2004aa98), line 234 in "istream-header-filter.c"
> i_stream_read(stream = 0x2004aabc), line 58 in "istream.c"
> i_stream_read_data(stream = 0x2004aabc, data = 0x2ff22630, size = 0x2ff22638, threshold = 1), line 250 in "istream.c"
> message_get_body_size(input = 0x2004aabc, body = 0x2002827c, has_nuls = (nil)), line 107 in "message-size.c"
> index_mail_init_stream(_mail = 0x200281a8, hdr_size = 0x2ff227a8, body_size = 0x2ff227b8), line 502 in "index-mail.c"
> mbox_mail_get_stream(_mail = 0x200281a8, hdr_size = 0x2ff227a8, body_size = 0x2ff227b8), line 206 in "mbox-mail.c"
> mail_get_stream(mail = 0x200281a8, hdr_size = 0x2ff227a8, body_size = 0x2ff227b8), line 107 in "mail.c"
> imap-fetch-body.fetch_body(ctx = 0x200205e0, mail = 0x200281a8, context = 0x20020858), line 331 in "imap-fetch-body.c"
> imap_fetch(ctx = 0x200205e0), line 291 in "imap-fetch.c"
> cmd_fetch(cmd = 0x2001e35c), line 163 in "cmd-fetch.c"
> cmd_uid(cmd = 0x2001e35c), line 19 in "cmd-uid.c"
> client_handle_input(cmd = 0x2001e35c), line 344 in "client.c"
> client_handle_input(cmd = 0x2001e35c), line 398 in "client.c"
> _client_input(context = 0x2001e318), line 441 in "client.c"
> io_loop_handler_run(ioloop = 0x2001d0e8), line 199 in "ioloop-poll.c"
> io_loop_run(ioloop = 0x2001d0e8), line 329 in "ioloop.c"

This looks like a normal UID FETCH command. Are you sure Dovecot is
doing infinite looping here, or if it's just that Thunderbird is sending
the same UID FETCH command over and over?

If it's Dovecot doing the infinite loop, could you truss the process for
a while and show me the output?

Or it would be good to know which one of these functions is looping. Can
you set breakpoints and continue the execution? With gdb I'd do:

b imap_fetch
continue
// does it stop? if not, ^C and try the next one:
b fetch_body
continue
b mail_get_stream
continue
..etc..

The last breakpoint where it doesn't stop is looping.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070930/4cad296d/attachment.bin 


More information about the dovecot mailing list