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

Jackie Hunt jackie at yuma.acns.colostate.edu
Wed Oct 10 19:50:19 EEST 2007


Attached is the truss for the imap process we are seeing which is
chewing up CPU.  We've seen this issue on several different clients,
usually first thing in the morning.  Shutting down the client and
restarting always seems to get Dovecot back in sync.   Hope we can
get some help with this.   We're running 1.0.5.  Thanks!

Jackie Hunt
ACNS                                    Voice:  (970) 663-3789
Colorado State University               FAX:    (970) 491-1958
Fort Collins, CO  80523                 Email:  jackie.hunt at colostate.edu

On Sun, 30 Sep 2007, Timo Sirainen wrote:

> 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: truss.log.gz
Type: application/octet-stream
Size: 5646 bytes
Desc: 
Url : http://dovecot.org/pipermail/dovecot/attachments/20071010/a574d4ac/attachment.obj 


More information about the dovecot mailing list