On Fri, 2011-01-21 at 12:56 -0600, Mike Abbott wrote:
Jan 17 12:06:20 server dovecot: imap(XXXX@YYYYYYY): Panic: file imap-client.c: line 570 (client_continue_pending_input): assertion failed: (!client->handling_input)
I can reproduce this every time by sending any data in the same packet after the "tag IDLE<CR><LF>".
The crash actually only started happening after I tried to fix this. Previously the whole connection would hang. Of course, I can't think of why any client would send IDLE+DONE in the same TCP packet. It doesn't make any sense. Would have been easier to just send NOOP.
For instance using nc: $ nc localhost 143 ... login, etc ... x idle^M^Jfoo
Where I generate ^M^J by typing ctrl-V ctrl-M ctrl-V ctrl-J.
Oh, that's nice. I've always been annoyed at testing these kinds of bugs because I didn't know of any easy way to send multiple commands in same packet.
Fixed now: http://hg.dovecot.org/dovecot-2.0/rev/4741f1b4f9b3