[Dovecot] Dovecot 2.1.7 crash (with core dumped)
Alessio Cecchi
alessio at skye.it
Thu Dec 12 10:10:32 EET 2013
Hi,
I'm running dovecot 2.1.7 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 at 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 at mydomain.com),
session=<UbiBrU/tvACXCCva>: Disconnected: Disconnected in IDLE in=654
out=704677
Dec 12 06:50:25 pop01eeh dovecot: imap(info at mydomain.com),
session=<UbiBrU/tvACXCCva>: Panic: Message count decreased
Dec 12 06:50:25 pop01eeh dovecot: imap(info at 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 at 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
--
Alessio Cecchi is:
@ ILS -> http://www.linux.it/~alessice/
on LinkedIn -> http://www.linkedin.com/in/alessice
Assistenza Sistemi GNU/Linux -> http://www.cecchi.biz
Cloud Email Hosting -> http://www.qboxmail.com
@ PLUG -> ex-Presidente, adesso senatore a vita, http://www.prato.linux.it
More information about the dovecot
mailing list