Hi,<br><br>while implementing thread support in our mail application I found a bug which kills IMAP(alpha5, SUSE 10) process...<br><br>These are the commands:<br><br>x OK Logged in.<br><br>x select INBOX<br>* FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Junk $Forwarded Spam)
<br>* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Junk $Forwarded Spam \*)] Flags permitted.<br>* 2280 EXISTS<br>* 1 RECENT<br>* OK [UNSEEN 473] First unseen.<br>* OK [UIDVALIDITY 1136386397] UIDs valid
<br>* OK [UIDNEXT 2319] Predicted next UID<br>x OK [READ-WRITE] Select completed.<br><br>x uid thread references utf8 (SUBJECT "locking")<br>* THREAD (2289 2307)<br>* 2281 EXISTS<br>* 1 RECENT<br>x OK Thread completed.
<br><br>x UID THREAD REFERENCES UTF8 (SUBJECT 'locking')<br>Connection closed by foreign host.<br><br><br>This is the code dump:<br><br>(gdb) bt full<br>#0 0xdededede in ?? ()<br>No symbol table info available.<br>#1 0x08060127 in mail_thread_deinit (ctx=0x80c0120) at
imap-thread.c:100<br>No locals.<br>#2 0x080611e2 in imap_thread (cmd=0x80c5c34, charset=0x80c5f48 "UTF8", args=0x80ea980, type=MAIL_THREAD_REFERENCES) at imap-thread.c:156<br> wanted_headers = {0x80b6645 "message-id", 0x80b2947 "in-reply-to", 0x80b2953 "references", 0x80b1978 "subject", 0x0}
<br> client = (struct client *) 0x80c5bf0<br> headers_ctx = (struct mailbox_header_lookup_ctx *) 0x80eb188<br> ctx = (struct thread_context *) 0x80c0120<br> mail = (struct mail *) 0x80ced28<br>
ret = 0<br>#3 0x080598b5 in cmd_thread (cmd=0x80c5c34) at cmd-thread.c:66<br> client = (struct client *) 0x80c5bf0<br> sargs = <value optimized out><br> args = (struct imap_arg *) 0x80c5ea0
<br> args_count = <value optimized out><br> pool = 0x80ea930<br> error = <value optimized out><br> charset = 0x80c5f48 "UTF8"<br> str = 0x80c5f38 "REFERENCES"
<br>#4 0x0805a271 in _client_input (context=0x80c5bf0) at client.c:338<br> cmd = (struct client_command_context *) 0x80c5c34<br> ret = <value optimized out><br>#5 0x080a91c8 in io_loop_handler_run (ioloop=0x80c49b0) at
ioloop-epoll.c:250<br> ctx = <value optimized out><br> event = (struct epoll_event *) 0x80c4a00<br> io = (struct io *) 0x80c5da8<br> tv = {tv_sec = 0, tv_usec = 999991}<br> t_id = 2
<br> msecs = <value optimized out><br> ret = 0<br> i = 0<br> call = <value optimized out><br>#6 0x080a881b in io_loop_run (ioloop=0x80c49b0) at ioloop.c:230<br>No locals.<br>#7 0x080617e4 in main (argc=3, argv=0xbfa6e7d4, envp=0xbfa6e7e4) at
main.c:235<br>No locals.<br><br>Hope this is enough. <br><br><br>Sebastjan<br><br>