[Dovecot] 100% CPU utilisation

Chris Weiss chris.weiss at gmail.com
Mon Sep 13 22:22:12 EEST 2004


I've got the same problem - several IMAP processes are maxed out all the time.
This is what the backtraces look like for several of the processes:
0x1c02b0c0 in _mail_tree_truncate ()
(gdb) bt
#0  0x1c02b0c0 in _mail_tree_truncate ()
#1  0x1c02b60a in mail_tree_delete ()
#2  0x1c0242a5 in mail_index_expunge ()
#3  0x1c01473b in maildir_index_rebuild ()
#4  0x1c0154bf in maildir_index_rebuild ()
#5  0x1c0155ee in maildir_index_rebuild ()
#6  0x1c015b25 in maildir_index_sync ()
#7  0x1c026524 in mail_index_data_get_mmaped ()
#8  0x1c026a37 in mail_index_init ()
#9  0x1c026ba9 in mail_index_open ()
#10 0x1c0133f3 in maildir_storage_save_deinit ()
#11 0x1c0218a5 in index_storage_init ()
#12 0x1c011a3f in maildir_get_path ()
#13 0x1c011ba2 in maildir_get_path ()
#14 0x1c00b247 in cmd_sort ()
#15 0x1c00b317 in cmd_status ()
#16 0x1c00c05c in _client_reset_command ()
#17 0x1c00c0fa in _client_input ()
#18 0x1c0398c2 in io_loop_handler_run ()
#19 0x1c0392cd in io_loop_run ()
#20 0x1c0111db in main ()
#21 0x1c008b11 in ___start ()
#22 0x1c008a87 in __start ()
#23 0xcfbf2204 in ?? ()
Error accessing memory address 0x1: Invalid argument.
----
0x1c02b0c0 in _mail_tree_truncate ()
(gdb) bt
#0  0x1c02b0c0 in _mail_tree_truncate ()
#1  0x1c02b60a in mail_tree_delete ()
#2  0x1c0242a5 in mail_index_expunge ()
#3  0x1c01473b in maildir_index_rebuild ()
#4  0x1c0154bf in maildir_index_rebuild ()
#5  0x1c0155ee in maildir_index_rebuild ()
#6  0x1c015b25 in maildir_index_sync ()
#7  0x1c026524 in mail_index_data_get_mmaped ()
#8  0x1c026a37 in mail_index_init ()
#9  0x1c026ba9 in mail_index_open ()
#10 0x1c0133f3 in maildir_storage_save_deinit ()
#11 0x1c0218a5 in index_storage_init ()
#12 0x1c011a3f in maildir_get_path ()
#13 0x1c011ba2 in maildir_get_path ()
#14 0x1c00b247 in cmd_sort ()
#15 0x1c00b317 in cmd_status ()
#16 0x1c00c05c in _client_reset_command ()
#17 0x1c00c0fa in _client_input ()
#18 0x1c0398c2 in io_loop_handler_run ()
#19 0x1c0392cd in io_loop_run ()
#20 0x1c0111db in main ()
#21 0x1c008b11 in ___start ()
#22 0x1c008a87 in __start ()
#23 0xcfbfd634 in ?? ()
Error accessing memory address 0x1: Invalid argument.

-------------------

0x1c02b0c0 in _mail_tree_truncate ()
(gdb) bt
#0  0x1c02b0c0 in _mail_tree_truncate ()
#1  0x1c02b60a in mail_tree_delete ()
#2  0x1c0242a5 in mail_index_expunge ()
#3  0x1c01473b in maildir_index_rebuild ()
#4  0x1c0154bf in maildir_index_rebuild ()
#5  0x1c0155ee in maildir_index_rebuild ()
#6  0x1c015b25 in maildir_index_sync ()
#7  0x1c026524 in mail_index_data_get_mmaped ()
#8  0x1c026a37 in mail_index_init ()
#9  0x1c026ba9 in mail_index_open ()
#10 0x1c0133f3 in maildir_storage_save_deinit ()
#11 0x1c0218a5 in index_storage_init ()
#12 0x1c011a3f in maildir_get_path ()
#13 0x1c011ba2 in maildir_get_path ()
#14 0x1c00ac43 in _cmd_select_full ()
#15 0x1c00ada7 in cmd_select ()
#16 0x1c00c05c in _client_reset_command ()
#17 0x1c00c0fa in _client_input ()
#18 0x1c0398c2 in io_loop_handler_run ()
#19 0x1c0392cd in io_loop_run ()
#20 0x1c0111db in main ()
#21 0x1c008b11 in ___start ()
#22 0x1c008a87 in __start ()
#23 0xcfbf2370 in ?? ()
Error accessing memory address 0x1: Invalid argument.

This is taken from the OpenBSD port of 0.99.10. I'd not made any
changes to the server, but I am running Postfix as the MTA (which
shouldn't allow long lines, ya?)

On Tue, 7 Sep 2004 17:40:57 +0300, Timo Sirainen <tss at iki.fi> wrote:
> On 7.9.2004, at 03:53, Zoong Pham wrote:
> 
> >> Probably because one of the lines in it is larger then 4096 bytes?
> >> Header parser doesn't really like that. I should get that fixed in
> >> 1.0-tests..
> >>
> >
> > I just check the problematic mailbox.
> > The maximum line length is 2047 characters.
> > Most of them are around 1300 characters.
> 
> Well, could you attach gdb into the process while it's running and get
> backtrace? ie.:
> 
> gdb /usr/local/libexec/dovecot/imap pid
> bt
> 
> 
> 
>


More information about the dovecot mailing list