Hi,
Sunday, September 2, 2007, 20:24:04, you wrote:
I am getting the following error in the server mail logfile:
Sep 2 18:39:44 h648123 dovecot: IMAP(<account>)(<PID>): Disconnected: BUG: Unknown internal error I am running Dovecot 1.0.3 (compiled from sources) on Suse 9.3.
I did one more thing: using gdb I attached to all 'imap' processes and set a breakpoint at the only place in the code where "Unknown internal error" appears (that is 'index_storage_get_last_error' in lib-storage/index/index-storage.c) in order to get backtrace for it (which may or may not help). See for yourselves:
(gdb) break index-storage.c:452 Breakpoint 1 at 0x807eec7: file index-storage.c, line 452. (gdb) continue Continuing.
Breakpoint 1, index_storage_get_last_error (storage=0x80cca90, syntax_error_r=0x0, temporary_error_r=0xbffff8ef) at index-storage.c:452 452 *temporary_error_r = TRUE; (gdb) bt full #0 index_storage_get_last_error (storage=0x80cca90, syntax_error_r=0x0, temporary_error_r=0xbffff8ef) at index-storage.c:452 No locals. #1 0x08097765 in mail_storage_get_last_error (storage=0x0, syntax_error_r=0xbffff8ee, temporary_error_r=0xbffff8ef) at mail-storage.c:345 No locals. #2 0x080573b1 in cmd_fetch_finish (ctx=<value optimized out>) at cmd-fetch.c:90 storage = (struct mail_storage *) 0x80cca90 error = <value optimized out> syntax = false temporary_error = 8 cmd = (struct client_command_context *) 0x80ccdbc ok_message = 0x80b395b "OK Fetch completed." #3 0x08057623 in cmd_fetch (cmd=0x80ccdbc) at cmd-fetch.c:173 client = (struct client *) 0x80ccd78 ctx = (struct imap_fetch_context *) 0x80cf010 args = <value optimized out> search_arg = (struct mail_search_arg *) 0x80cefd8 messageset = <value optimized out> ret = <value optimized out> #4 0x0805a0de in cmd_uid (cmd=0x80ccdbc) at cmd-uid.c:19 cmd_name = 0x80cd078 "FETCH" #5 0x0805a616 in client_handle_input (cmd=0x80ccdbc) at client.c:335 client = (struct client *) 0x80ccd78 #6 0x0805a73a in client_handle_input (cmd=0x80ccdbc) at client.c:389 client = (struct client *) 0x80ccd78 #7 0x0805ac4c in _client_input (context=0x80ccd78) at client.c:432 client = (struct client *) 0x80ccd78 cmd = (struct client_command_context *) 0x80ccdbc ret = 2 #8 0x080aa441 in io_loop_handler_run (ioloop=0x80cb9b0) at ioloop-epoll.c:203 ctx = (struct ioloop_handler_context *) 0x80cb9d8 list = (struct io_list *) 0x80ccf48 io = (struct io *) 0x80ccf28 tv = {tv_sec = 0, tv_usec = 927459} events_count = 4 t_id = 2 msecs = <value optimized out> ret = 1 i = 0 j = 0 call = <value optimized out> #9 0x080a9889 in io_loop_run (ioloop=0x80cb9b0) at ioloop.c:329 No locals. #10 0x08062087 in main (argc=1, argv=0xbffffaf4, envp=0xbffffafc) at main.c:290 plugin_dir = <value optimized out>
Any thoughts here?
One more piece of info that might (?) be interesting -- I have just run a grep on historical logs and it seems the bug never occured on previous versions of Dovecot I had been running in the past (first it was stock Suse 9.3 Dovecot 0.99.14, then a self-compiled 1.0.rc27).
The only difference (apart from the actual source code, of course) between 1.0.rc27 and the current 1.0.3 that might play any role are the configure flags:
- 1.0.rc27: ./configure --with-pam
- 1.0.3 : ./configure --with-ioloop=best --with-ldap --with-sql --with-mysql --with-pam This resulted in using epoll() for 1.0.3 and poll() for 1.0.rc27; both versions are using dnotify.
BTW, 'uname -a' returns: Linux h648123 2.6.11.4-21.9-default #1 Fri Aug 19 11:58:59 UTC 2005 i686 athlon i386 GNU/Linux
-- Best regards, Robert Tomanek mailto:rth23@poczta.onet.pl