[Dovecot] IMAP: Disconnected: BUG: Unknown internal error (Dovecot 1.0.3)
Robert Tomanek
rth23 at poczta.onet.pl
Tue Sep 4 00:16:07 EEST 2007
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 at poczta.onet.pl
More information about the dovecot
mailing list