On Sun, Oct 21, 2007 at 02:52:04PM +0300, Timo Sirainen wrote:
On Sat, 2007-10-20 at 23:11 -0400, Adam McDougall wrote:
telnet server 143 ? login username pass 1 select "anyfolder" 2 IDLE DONE (crash)
If this is not reproducable for you, I guess I'll have to setup some process debugging.
Not reproducible with me. gdb backtrace would be nice. http://dovecot.org/bugreport.html
What notify method are you using? (dovecot --build-options)
Build options: ioloop=kqueue notify=kqueue openssl
It does not crash if I use poll instead of kqueue.
Hopefully I did this backtrace right, let me know if I should change anything to improve it.
env MAIL=maildir:~/Maildir gdb /tmp/imap GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... (gdb) r Starting program: /tmp/imap
- PREAUTH [CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS UIDPLUS LIST-EXTENDED] Logged in as mcdouga9 1 select "funny"
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-1 unknown-0)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft unknown-1 unknown-0 \*)] Flags permitted.
- 422 EXISTS
- 0 RECENT
- OK [UNSEEN 295] First unseen.
- OK [UIDVALIDITY 1192968516] UIDs valid
- OK [UIDNEXT 423] Predicted next UID 1 OK [READ-WRITE] Select completed. 2 IDLE
- idling DONE
Program received signal SIGSEGV, Segmentation fault. 0x00000000004a8003 in io_file_unlink (io=0x5fb340) at ioloop.c:54 54 io->prev->next = io->next; (gdb) bt full #0 0x00000000004a8003 in io_file_unlink (io=0x5fb340) at ioloop.c:54 No locals. #1 0x00000000004a80ce in io_remove (_io=0x5fd0a8) at ioloop.c:82 io_file = (struct io_file *) 0x5fb340 io = (struct io *) 0x5fb340 #2 0x000000000045ae16 in index_mailbox_check_remove_all (ibox=0x60b048) at index-mailbox-check.c:118 file = (struct index_notify_file *) 0x0 aio = (struct index_notify_io *) 0x5fd0a0 #3 0x000000000042d40b in maildir_notify_changes (box=0x60b048) at maildir-storage.c:824 mbox = (struct maildir_mailbox *) 0x60b048 #4 0x000000000048bf90 in mailbox_notify_changes (box=0x60b048, min_interval=0, callback=0, context=0x0) at mail-storage.c:544 No locals. #5 0x000000000048bfc4 in mailbox_notify_changes_stop (box=0x60b048) at mail-storage.c:550 No locals. #6 0x00000000004158ab in idle_finish (ctx=0x6010b0, done_ok=true, free_cmd=true) at cmd-idle.c:48 client = (struct client *) 0x5fe200 #7 0x0000000000415a05 in idle_client_input (ctx=0x6010b0) at cmd-idle.c:90 client = (struct client *) 0x5fe200 line = 0x604018 "DONE" #8 0x00000000004a96f7 in io_loop_handler_run (ioloop=0x5f0080) at ioloop-kqueue.c:149 ctx = (struct ioloop_handler_context *) 0x5fb0c0 events = (struct kevent *) 0x5ff000 event = (const struct kevent *) 0x5ff000 tv = {tv_sec = 0, tv_usec = 999661} ts = {tv_sec = 0, tv_nsec = 999661000} io = (struct io_file *) 0x5f0a00 events_count = 3 t_id = 2 msecs = 1000 ret = 1 i = 0 __PRETTY_FUNCTION__ = "io_loop_handler_run" #9 0x00000000004a8810 in io_loop_run (ioloop=0x5f0080) at ioloop.c:303 No locals. #10 0x000000000042504e in main (argc=1, argv=0x7fffffffebd0, envp=0x7fffffffebe0) at main.c:293 No locals.