Timo Sirainen wrote:
Did imap/client.c get also patched? None of these show _client_output being called. And these were the last lines before it hanged? It shows that it should be calling _client_output next..
I updated http://dovecot.org/patches/hang-debug.diff , could you try again with it?
I have been having the same problems post-0.99: periodic hangs, usually when selecting a large mailbox or fetching a large mail. With 1.0a5 and the above patch, here are the last few lines of logs:
imap(zakj): Warning: buffer_flush=1, flush_pending=0 imap(zakj): Warning: cork changed, set=1, io=0x0 imap(zakj): Warning: cork changed, set=0, io=0x0 imap(zakj): Warning: buffer_flush=1, flush_pending=0 imap(zakj): Warning: cork changed, set=1, io=0x0 imap(zakj): Warning: cork changed, set=0, io=0x0 imap(zakj): Warning: buffer_flush=1, flush_pending=0 imap(zakj): Warning: cork changed, set=1, io=0x0 imap(zakj): Warning: func -> command_pending=1 imap(zakj): Warning: _flush_pending -> 1 imap(zakj): Warning: cork changed, set=0, io=0x0 imap(zakj): Warning: buffer_flush=0, flush_pending=1 imap(zakj): Warning: - adding2 imap(zakj): Warning: output handler started, callback=0x0 imap(zakj): Warning: output handler returned 1, flush_pending=0
The command immediately preceding the hang in this case was:
a4964 UID FETCH 2012 BODY.PEEK[]
-Zak