Am 12.12.2013 09:10, schrieb Alessio Cecchi:
Hi,
I'm running dovecot 2.1.7
you may upgrade to 2.1.17, then try again
there where bugs solved
http://hg.dovecot.org/dovecot-2.1/log?rev=vpopmail
search list for patches
and/or wait for Timo to answer
with vpopmail auth and Maildir on NFS (I have
only one POP/IMAP server). All works fine but sometimes dovecot "imap" process crush and I would like to understand why:
Error in log files:
Dec 12 06:32:56 pop01eeh dovecot: imap-login: Login: user=<info@mydomain.com>, method=PLAIN, rip=1.2.3.4, lip=192.168.1.3, mpid=4086, session=<UbiBrU/tvACXCCva> Dec 12 06:50:25 pop01eeh dovecot: imap(info@mydomain.com), session=<UbiBrU/tvACXCCva>: Disconnected: Disconnected in IDLE in=654 out=704677 Dec 12 06:50:25 pop01eeh dovecot: imap(info@mydomain.com), session=<UbiBrU/tvACXCCva>: Panic: Message count decreased Dec 12 06:50:25 pop01eeh dovecot: imap(info@mydomain.com), session=<UbiBrU/tvACXCCva>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x4892a) [0x7f68af1ae92a] -> /usr/lib/dovecot/libdovecot.so.0(+0x48976) [0x7f68af1ae976] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f68af181faf] -> dovecot/imap() [0x4191e9] -> dovecot/imap() [0x40b366] -> dovecot/imap() [0x40b69c] -> dovecot/imap(command_exec+0x3d) [0x411ffd] -> dovecot/imap(client_command_cancel+0x3a) [0x4108da] -> dovecot/imap(client_destroy+0xdd) [0x41178d] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f68af1bab56] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x9f) [0x7f68af1bbb8f] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x28) [0x7f68af1baaf8] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f68af1a6413] -> dovecot/imap(main+0x2a4) [0x419dd4] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f68aee22c8d] -> dovecot/imap() [0x4090b9] Dec 12 06:50:25 pop01eeh dovecot: imap(info@mydomain.com), session=<UbiBrU/tvACXCCva>: Fatal: master: service(imap): child 4086 killed with signal 6 (core dumped)
Backtrace:
# gdb /usr/libexec/dovecot/imap /home/dovecot/core GNU gdb (GDB) 7.0.1-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/libexec/dovecot/imap...done.
warning: Can't read pathname for load map: Input/output error. Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...done. Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /usr/lib/dovecot/libdovecot.so.0...done. Loaded symbols for /usr/lib/dovecot/libdovecot.so.0 Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /usr/lib/libssl.so.0.9.8...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libssl.so.0.9.8 Reading symbols from /usr/lib/libcrypto.so.0.9.8...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libcrypto.so.0.9.8 Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done. Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/dovecot/lib01_acl_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib01_acl_plugin.so Reading symbols from /usr/lib/dovecot/lib02_imap_acl_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib02_imap_acl_plugin.so Reading symbols from /usr/lib/dovecot/lib10_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib10_quota_plugin.so Reading symbols from /usr/lib/dovecot/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib11_imap_quota_plugin.so Reading symbols from /usr/lib/dovecot/lib20_expire_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib20_expire_plugin.so Reading symbols from /usr/lib/dovecot/lib20_zlib_plugin.so...done. Loaded symbols for /usr/lib/dovecot/lib20_zlib_plugin.so Reading symbols from /lib/libbz2.so.1.0...(no debugging symbols found)...done. Loaded symbols for /lib/libbz2.so.1.0 Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/libgcc_s.so.1 Core was generated by `dovecot/imap'. Program terminated with signal 6, Aborted. #0 0x00007f68aee361b5 in raise () from /lib/libc.so.6 (gdb) bt full #0 0x00007f68aee361b5 in raise () from /lib/libc.so.6 No symbol table info available. #1 0x00007f68aee38fc0 in abort () from /lib/libc.so.6 No symbol table info available. #2 0x00007f68af1ae93d in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:191 backtrace = 0x1980248 "/usr/lib/dovecot/libdovecot.so.0(+0x4892a) [0x7f68af1ae92a] -> /usr/lib/dovecot/libdovecot.so.0(+0x48976) [0x7f68af1ae976] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f68af181faf] -> dovecot/im"... #3 0x00007f68af1ae976 in i_internal_fatal_handler (ctx=0x7fffb9588e70, format=<value optimized out>, args=<value optimized out>) at failures.c:649 status = 0 #4 0x00007f68af181faf in i_panic (format=0xff6 <Address 0xff6 out of bounds>) at failures.c:263 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0} args = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7fffb9588f40, reg_save_area = 0x7fffb9588e80}} #5 0x00000000004191e9 in imap_sync_deinit (ctx=0x1a36ae0, sync_cmd=0x19a54c0) at imap-sync.c:242 client = 0x19a48e0 status = {messages = 1983, recent = 0, unseen = 0, uidvalidity = 1290163110, uidnext = 84072, first_unseen_seq = 0, first_recent_uid = 84072, last_cached_seq = 0, highest_modseq = 1, keywords = 0x0, permanent_flags = 0, nonpermanent_modseqs = 1, permanent_keywords = 0, allow_new_keywords = 0} sync_status = {sync_delayed_expunges = 0} ret = 0 #6 0x000000000040b366 in idle_finish (ctx=0x19a55b0, done_ok=false, free_cmd=false) at cmd-idle.c:38 client = 0x19a48e0 #7 0x000000000040b69c in cmd_idle_continue (cmd=0x19a54c0) at cmd-idle.c:234 client = 0x19a48e0 ctx = 0x19a55b0 orig_offset = 704677 #8 0x0000000000411ffd in command_exec (cmd=0x19a54c0) at imap-commands.c:148 hook = 0x1989cd0 ret = <value optimized out> #9 0x00000000004108da in client_command_cancel (_cmd=0x7fffb9589088) at imap-client.c:136 cmd = 0x19a54c0 cmd_ret = <value optimized out> #10 0x000000000041178d in client_destroy (client=0x19a48e0, reason=<value optimized out>) at imap-client.c:202 cmd = 0x0 __FUNCTION__ = "client_destroy" #11 0x00007f68af1bab56 in io_loop_call_io (io=0x1a35ad0) at ioloop.c:379 ioloop = 0x1988670 t_id = 2 #12 0x00007f68af1bbb8f in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:213 ctx = 0x19889e0 event = 0x1988a50 list = 0x19a5410 io = 0xff6 tv = {tv_sec = 29, tv_usec = 999250} msecs = <value optimized out> ret = <value optimized out> i = 0 call = false #13 0x00007f68af1baaf8 in io_loop_run (ioloop=0x1988670) at ioloop.c:398 No locals. #14 0x00007f68af1a6413 in master_service_run (service=0x1988520, callback=0xff6) at master-service.c:544 No locals. ---Type <return> to continue, or q <return> to quit--- #15 0x0000000000419dd4 in main (argc=1, argv=0x1988370) at main.c:389 set_roots = {0x41cf20, 0x0} login_set = {auth_socket_path = 0x1980078 "/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x41a0b0 <login_client_connected>, failure_callback = 0x41a050 <login_client_failed>} service_flags = <value optimized out> storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT username = 0x0 c = <value optimized out> (gdb)
And my configuration:
dovecot -n # 2.1.17: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.8 auth_cache_size = 8 M deliver_log_format = msgid=%m, from=%f, subject="%s": %$ dict { acl = mysql:/etc/dovecot/dovecot-share-folder.conf expire = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } disable_plaintext_auth = no dotlock_use_excl = no first_valid_gid = 89 first_valid_uid = 89 last_valid_gid = 89 last_valid_uid = 89 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_fsync = always mail_location = maildir:~/Maildir mail_log_prefix = "%s(%u), session=<%{session}>: " mail_nfs_index = yes mail_nfs_storage = yes mail_plugins = quota acl zlib expire maildir_very_dirty_syncs = yes managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave vnd.dovecot.duplicate mmap_disable = yes namespace { list = children location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u prefix = shared/%%n/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Spam { special_use = \Junk } mailbox Trash { special_use = \Trash } prefix = separator = / } passdb { args = username_format=%Ld /etc/dovecot/extra/alias-domains-denylogin.txt deny = yes driver = passwd-file } passdb { args = cache_key=%s%u webmail=192.168.1.5 driver = vpopmail } plugin { acl = vfile:/etc/dovecot/global-acls:cache_secs=300 acl_shared_dict = proxy::acl expire = Trash expire2 = Spam expire_dict = proxy::expire quota = maildir:UserQuota quota2 = dict:Quota Usage::noenforcing:proxy::sqlquota quota_rule2 = Trash:storage=+100M quota_warning = storage=95%% quota-warning 95 %u quota_warning2 = storage=80%% quota-warning 80 %u sieve = ~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/before.sieve sieve_dir = ~/sieve sieve_extensions = +vnd.dovecot.duplicate -vacation } pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s, bytes=%i/%o protocols = imap pop3 sieve service auth { unix_listener auth-userdb { group = vchkpw mode = 0660 user = vpopmail } } service dict { process_limit = 300 unix_listener dict { group = vchkpw mode = 0660 user = vpopmail } } service imap-login { process_min_avail = 4 service_count = 0 } service imap { process_limit = 2400 } service managesieve-login { inet_listener sieve { port = 4190 } } service pop3-login { service_count = 0 } service quota-warning { executable = script /etc/dovecot/scripts/quota-warning.sh unix_listener quota-warning { user = vpopmail } user = vpopmail } ssl_cert = </etc/dovecot/ssl/wildcard-myserver.net.pem ssl_key = </etc/dovecot/ssl/wildcard-myserver.net.key submission_host = localhost userdb { args = quota_template=quota_rule=*:backend=%q driver = vpopmail } protocol lda { mail_plugins = quota acl zlib expire sieve } protocol imap { imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags imap_idle_notify_interval = 29 mins mail_max_userip_connections = 15 mail_plugins = quota acl zlib expire imap_quota imap_acl } protocol sieve { mail_max_userip_connections = 2 } protocol pop3 { mail_max_userip_connections = 5 pop3_client_workarounds = outlook-no-nuls oe-ns-eoh }
Thanks
Best Regards MfG Robert Schetterer
-- [*] sys4 AG
http://sys4.de, +49 (89) 30 90 46 64 Franziskanerstraße 15, 81669 München
Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263 Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein