[Dovecot] Again: pop3: Panic: Trying to allocate 0 bytes
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@domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Panic: Trying to allocate 0 bytes May 6 13:26:52 mailstore dovecot: pop3(user@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@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 }
On 6.5.2014, at 15.23, Urban Loesch <bind@enas.net> wrote:
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@domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Panic: Trying to allocate 0 bytes
http://hg.dovecot.org/dovecot-2.2/rev/b0359910ec96 should fix that. I'm hoping to make v2.2.13 release this week.
On 6.5.2014, at 15.30, Timo Sirainen <tss@iki.fi> wrote:
On 6.5.2014, at 15.23, Urban Loesch <bind@enas.net> wrote:
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@domain.com pid:48986 session:<bLxBhrn4ywBCNkO3>): Panic: Trying to allocate 0 bytes
http://hg.dovecot.org/dovecot-2.2/rev/b0359910ec96 should fix that. I'm hoping to make v2.2.13 release this week.
Actually, there's another bug, which is now fixed with: http://hg.dovecot.org/dovecot-2.2/rev/4493e070c47e
As a workaround you can also remove %u from pop3_logout_format.
Hi Timo,
Actually, there's another bug, which is now fixed with: http://hg.dovecot.org/dovecot-2.2/rev/4493e070c47e
As a workaround you can also remove %u from pop3_logout_format.
This fixed the bug. I installed it yesterday evening. No more errors like before.
Many thanks Urban
participants (2)
-
Timo Sirainen
-
Urban Loesch