[Dovecot] Again: pop3: Panic: Trying to allocate 0 bytes
Urban Loesch
bind at enas.net
Tue May 6 12:23:42 UTC 2014
Hi,
in April I wrote an e-mail to the list, that with dovecot 2.2.12 on debian squeeze some pop3-sessions were killed sometimes. But I got no anwser from
the list. At this was not a urgend problem and it happend very rarely it was not a big problem.
But today it happend again more several times and I have no idea why.
I have the following in my errorlog:
...
May 6 13:26:52 mailstore dovecot: pop3(user at domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Panic: Trying to allocate 0 bytes
May 6 13:26:52 mailstore dovecot: pop3(user at domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Error: Raw backtrace:
/usr/lib/dovecot/libdovecot.so.0(+0x6c38a) [0x7f8ed4c7538a] -> /usr/lib/dovecot/libdovecot.so.0(+0x6c406) [0x7f8ed4c75406] ->
/usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f8ed4c2e1af] -> /usr/lib/dovecot/libdovecot.so.0(+0x81e1b) [0x7f8ed4c8ae1b] -> dovecot/pop3()
[0x4077f0] -> dovecot/pop3(client_command_execute+0x9d) [0x407d0d] -> dovecot/pop3(client_handle_input+0x80) [0x405810] ->
/usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x4e) [0x7f8ed4c856ae] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xaf)
[0x7f8ed4c8682f] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x9) [0x7f8ed4c85739] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38)
[0x7f8ed4c857c8] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8ed4c32f63] -> dovecot/pop3(main+0x257) [0x404a67] ->
/lib/libc.so.6(__libc_start_main+0xfd) [0x7f8ed48c5c8d] -> dovecot/pop3() [0x4045b9]
May 6 13:26:52 mailstore dovecot: pop3(user at domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Fatal: master: service(pop3): child 48986 killed with
signal 6 (core dumped)
...
I got a coredump.
Here comes the backtrace:
...
(gdb) bt full
#0 0x00007f8ed48d91b5 in raise () from /lib/libc.so.6
No symbol table info available.
#1 0x00007f8ed48dbfc0 in abort () from /lib/libc.so.6
No symbol table info available.
#2 0x00007f8ed4c75380 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:193
backtrace = 0x1c180c8 "/usr/lib/dovecot/libdovecot.so.0(+0x6c38a) [0x7f8ed4c7538a] -> /usr/lib/dovecot/libdovecot.so.0(+0x6c406)
[0x7f8ed4c75406] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f8ed4c2e1af] -> /usr/lib/d"...
#3 0x00007f8ed4c75406 in i_internal_fatal_handler (ctx=0x7fff547b5940, format=<value optimized out>, args=<value optimized out>) at failures.c:657
status = 0
#4 0x00007f8ed4c2e1af in i_panic (format=0xbf5a <Address 0xbf5a out of bounds>) at failures.c:267
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff547b5a10, reg_save_area = 0x7fff547b5950}}
#5 0x00007f8ed4c8ae1b in pool_system_malloc (pool=<value optimized out>, size=0) at mempool-system.c:81
No locals.
#6 0x00000000004077f0 in client_uidls_save (client=0x1c42990, seq=0) at pop3-commands.c:798
str = <value optimized out>
permanent_uidl = <value optimized out>
search_ctx = 0x1c230d0
mail = <value optimized out>
prev_uidls = {_table = 0x1c23330, _key = 0x1c23330 "\300o\355Ԏ\177", _keyp = 0x1c23330, _const_key = 0x1c23330 "\300o\355Ԏ\177", _value =
0x1c23330, _valuep = 0x1c23330}
search_args = 0x0
seq_uidls = 0x60a4d8
uidl = <value optimized out>
wanted_fields = <value optimized out>
#7 cmd_uidl_init (client=0x1c42990, seq=0) at pop3-commands.c:842
ctx = <value optimized out>
search_args = <value optimized out>
wanted_fields = <value optimized out>
#8 0x0000000000407d0d in cmd_uidl (client=0x1c42990, name=<value optimized out>, args=0x408820 "") at pop3-commands.c:873
ctx = <value optimized out>
seq = <value optimized out>
#9 client_command_execute (client=0x1c42990, name=<value optimized out>, args=0x408820 "") at pop3-commands.c:938
No locals.
#10 0x0000000000405810 in client_handle_input (client=0x1c42990) at pop3-client.c:739
_data_stack_cur_id = 3
line = <value optimized out>
args = 0x408820 ""
ret = <value optimized out>
#11 0x00007f8ed4c856ae in io_loop_call_io (io=0x1c414a0) at ioloop.c:441
ioloop = 0x1c20740
t_id = 2
__FUNCTION__ = "io_loop_call_io"
#12 0x00007f8ed4c8682f in io_loop_handler_run_internal (ioloop=<value optimized out>) at ioloop-epoll.c:220
ctx = 0x1c20aa0
event = 0x1c21910
list = 0x1c22500
io = 0xbf5a
tv = {tv_sec = 9, tv_usec = 999120}
msecs = <value optimized out>
ret = 1
i = 0
call = false
__FUNCTION__ = "io_loop_handler_run_internal"
#13 0x00007f8ed4c85739 in io_loop_handler_run (ioloop=0xbf5a) at ioloop.c:488
No locals.
#14 0x00007f8ed4c857c8 in io_loop_run (ioloop=0x1c20740) at ioloop.c:465
__FUNCTION__ = "io_loop_run"
#15 0x00007f8ed4c32f63 in master_service_run (service=0x1c205d0, callback=0xbf5a) at master-service.c:566
No locals.
#16 0x0000000000404a67 in main (argc=1, argv=0x1c20390) at main.c:277
set_roots = {0x409480, 0x0}
login_set = {auth_socket_path = 0x1c18050 "/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback =
0x404c40 <login_client_connected>,
failure_callback = 0x404bf0 <login_client_failed>, request_auth_token = 0}
service_flags = <value optimized out>
storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT
username = 0x0
---Type <return> to continue, or q <return> to quit---
c = <value optimized out>
...
Can you help to resolve this issue?
many Thanks
Urban Loesch
--------------------- doveconf -n ---------------------
# 2.2.12 (16212e6d4fd4): /etc/dovecot/dovecot.conf
# OS: Linux 3.4.67-vs2.3.3.9-rol-em64t-efigpt x86_64 Debian 6.0.9 ext4
auth_cache_negative_ttl = 0
auth_cache_size = 40 M
auth_cache_ttl = 1 weeks
auth_mechanisms = plain login
deliver_log_format = msgid=%m: %$ %p %w
disable_plaintext_auth = no
info_log_path = syslog
login_trusted_networks = $INTERNAL_IPS
mail_gid = mailstore
mail_location = mdbox:/home/vmail/%d/%n
mail_log_prefix = "%s(%u pid:%p session:<%{session}>): "
mail_plugins = " quota mail_log notify acl zlib stats virtual"
mail_uid = mailstore
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date ihave duplicate imapflags notify
mdbox_rotate_size = 10 M
namespace {
list = children
location = mdbox:/home/vmail/%%d/%%n
prefix = shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace {
hidden = no
inbox = no
list = children
location = virtual:/home/virtual:INDEX=~/virtual
prefix = [rolmail]/
separator = /
subscriptions = yes
type = private
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Items" {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
mailbox [mail]/All {
auto = no
special_use = \All
}
prefix =
separator = /
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql-account.conf
driver = sql
}
plugin {
acl = vfile
acl_shared_dict = file:/home/vmail/%d/shared-mailboxes
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size from
mail_log_group_events = no
quota = dict:Storage used::file:%h/dovecot-quota
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_dir = ~/sieve
sieve_extensions = +notify +imapflags
sieve_max_redirects = 10
stats_command_min_time = 1 mins
stats_domain_min_time = 12 hours
stats_ip_min_time = 12 hours
stats_memory_limit = 16 M
stats_refresh = 30 secs
stats_session_min_time = 15 mins
stats_track_cmds = no
stats_user_min_time = 1 hours
zlib_save = gz
zlib_save_level = 9
}
protocols = imap pop3 lmtp sieve
service auth {
unix_listener auth-userdb {
group = mailstore
mode = 0660
user = root
}
}
service imap-login {
inet_listener imap {
port = 143
}
process_limit = 48
process_min_avail = 3
service_count = 1
}
service imap {
process_limit = 48
process_min_avail = 2
service_count = 1
}
service lmtp {
inet_listener lmtp {
port = 24
}
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0666
user = postfix
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
process_limit = 16
process_min_avail = 2
service_count = 1
}
service pop3 {
process_limit = 16
process_min_avail = 2
service_count = 1
}
service quota-warning {
executable = script /usr/local/rol/dovecot/quota-warning.sh
unix_listener quota-warning {
user = mailstore
}
user = mailstore
}
service stats {
fifo_listener stats-mail {
mode = 0600
user = mailstore
}
}
ssl = no
ssl_cert = </etc/dovecot/certs/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
args = /etc/dovecot/dovecot-sql-account.conf
driver = sql
}
protocol lmtp {
mail_fsync = optimized
mail_plugins = " quota mail_log notify acl zlib stats virtual sieve zlib"
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
imap_id_log = *
imap_logout_format = bytes=%i/%o session=<%{session}>
mail_max_userip_connections = 20
mail_plugins = " quota mail_log notify acl zlib stats virtual imap_quota imap_acl imap_zlib imap_stats"
}
protocol pop3 {
mail_plugins = " quota mail_log notify acl zlib stats virtual"
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
pop3_lock_session = yes
pop3_logout_format = bytes_sent=%o top=%t/%p, retr=%r/%b, del=%d/%m, size=%s uidl_hash=%u session=<%{session}>
pop3_reuse_xuidl = yes
}
More information about the dovecot
mailing list