[Dovecot] Segmentation fault in libdovecot-storage.so

Francesco Fiore ffiore at babel.it
Mon Feb 10 10:39:39 UTC 2014


Hi,
I obtain continuosly segmentation fault of processes pop3 and imap, with 
version 2.2.10.
This is the error for the pop3 process (but for imap is is the same):

2014-02-10 11:06:22 pop3(xxxxxxx at yyyyyyyy.zz): Fatal: master: 
service(pop3): child 23804 killed with signal 11 (core dumped)

This is the kernel log:

Feb 10 11:06:22 pecpop5 kernel: pop3[23804]: segfault at 7fa42a3f4070 ip 
00007fa41ff849cd sp 00007fff78dedfa0 error 4 in 
libdovecot-storage.so.0.0.0[7fa41fefa000+d9000]

-------------------------------------------------------
# /opt/dovecot-2.2.10/sbin/dovecot --version
2.2.10
-------------------------------------------------------
# cat /etc/redhat-release
CentOS release 6.4 (Final)
-------------------------------------------------------
# uname -r
2.6.32-358.23.2.el6.x86_64
-------------------------------------------------------
Filesystem: NFS
-------------------------------------------------------
# /opt/dovecot-2.2.10/sbin/dovecot -n
# 2.2.10: /opt/dovecot-2.2.10/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-358.23.2.el6.x86_64 x86_64 CentOS release 6.4 (Final)
auth_debug = yes
auth_master_user_separator = *
auth_username_format =
default_vsz_limit = 512 M
disable_plaintext_auth = no
dotlock_use_excl = no
first_valid_gid = 101
first_valid_uid = 102
imap_id_send =
import_environment = TZ
info_log_path = /var/log/dovecot.log
log_path = /var/log/dovecot.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_fsync = always
mail_gid = 101
mail_location = maildir:%h/Maildir
mail_max_userip_connections = 50
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = quota expire fts fts_lucene mail_log notify
mail_uid = 102
maildir_broken_filename_sizes = yes
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
mbox_write_locks = fcntl
mmap_disable = yes
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix = INBOX.
   separator = .
   subscriptions = yes
   type = private
}
passdb {
   args = /opt/dovecot-2.2.10/etc/dovecot/passwd.masterusers
   driver = passwd-file
   master = yes
}
passdb {
   args = /opt/dovecot-2.2.10/etc/dovecot/dovecot-ldap.conf
   driver = ldap
}
passdb {
   args = /opt/dovecot-2.2.10/etc/dovecot/dovecot-ldap-multiuser.conf
   driver = ldap
   master = yes
}
plugin {
   fts = lucene
   fts_lucene =
   mail_log_events = delete undelete expunge copy mailbox_delete 
mailbox_rename
   mail_log_fields = uid box msgid size
   quota = maildir
   quota_rule2 = INBOX.Trash:storage=+100M
}
protocols = imap pop3
service anvil {
   client_limit = 3000
}
service auth {
   client_limit = 4096
   unix_listener auth-userdb {
     mode = 0600
   }
}
service imap-login {
   inet_listener imap {
     address = 10.11.47.49
     port = 143
   }
   inet_listener imaps {
     address = 10.11.47.49
     port = 993
     ssl = yes
   }
   process_limit = 2500
   process_min_avail = 5
}
service imap {
   drop_priv_before_exec = yes
   process_limit = 2500
   process_min_avail = 5
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   process_min_avail = 0
   service_count = 1
   vsz_limit = 64 M
}
service managesieve {
   drop_priv_before_exec = yes
   process_limit = 1024
}
service pop3-login {
   inet_listener pop3 {
     address = 10.11.47.49
     port = 110
   }
   inet_listener pop3s {
     address = 10.11.47.49
     port = 995
     ssl = yes
   }
   process_limit = 300
   process_min_avail = 5
}
service pop3 {
   drop_priv_before_exec = yes
   process_limit = 300
   process_min_avail = 5
}
ssl_cert = </opt/dovecot-2.2.10/certs/imapd.pem
ssl_key = </opt/dovecot-2.2.10/certs/imapd.pem
userdb {
   args = /opt/dovecot-2.2.10/etc/dovecot/dovecot-ldap.conf
   driver = ldap
}
protocol lmtp {
   mail_plugins = quota expire fts fts_lucene mail_log notify sieve
}
protocol lda {
   mail_plugins = quota expire fts fts_lucene mail_log notify sieve
}
protocol imap {
   mail_plugins = quota imap_quota mail_log notify
}
protocol pop3 {
   mail_plugins = quota mail_log notify
   pop3_uidl_format = UID%u-%v
}

-------------------------------------------------------
(gdb) bt full
#0  0x00007f351537e9cd in mail_cache_header_fields_read (cache=0xf16740) 
at mail-cache-fields.c:369
         field_hdr = 0x7f35157ed040
         field = {name = 0x0, idx = 0, type = 
MAIL_CACHE_FIELD_FIXED_SIZE, field_size = 0, decision = 
MAIL_CACHE_DECISION_NO, last_used = 0}
         last_used = 0x7f35157ed04c
         sizes = 0x7f35217ed04c
         types = 0x7f352d7ed04c <Address 0x7f352d7ed04c out of bounds>
         decisions = 0x7f35307ed04c <Address 0x7f35307ed04c out of bounds>
         p = 0x7f35337ed04c <Address 0x7f35337ed04c out of bounds>
         names = <value optimized out>
         end = 0x7f355e7ed040 <Address 0x7f355e7ed040 out of bounds>
         orig_key = 0x7f35155e8715 "I\211\303L\213L$0L\213D$(H\213|$ 
H\213t$\030H\213T$\020H\213L$\bH\213\004$H\203\304HA\377\343ffffff.\017\037\204"
         fidx = <value optimized out>
         new_fields_count = <value optimized out>
         dec = <value optimized out>
         max_drop_time = 1388530800
         offset = 64
         i = <value optimized out>
#1  0x00007f351537c664 in mail_cache_open_and_verify (cache=0xf16740) at 
mail-cache.c:497
         ret = 1
#2  0x00007f351537fe4c in mail_cache_field_exists (view=0xf16110, 
seq=<value optimized out>, field=<value optimized out>) at 
mail-cache-lookup.c:345
         data = <value optimized out>
         __FUNCTION__ = "mail_cache_field_exists"
#3  0x00007f351537ff64 in mail_cache_lookup_field (view=0xf16110, 
dest_buf=0x7fff96c80030, seq=52, field_idx=0) at mail-cache-lookup.c:413
         field_def = <value optimized out>
         iter = {view = 0x7f3500000001, remap_counter = 0, seq = 0, rec 
= 0x1, pos = 355448944, rec_size = 32565, offset = 2048, trans_next_idx 
= 0, stop = 0, failed = 0,
           memory_appends_checked = 0, disk_appends_checked = 0}
         field = {field_idx = 15818688, size = 0, data = 0x0, offset = 52}
         ret = <value optimized out>
#4  0x00007f3515367999 in index_mail_cache_lookup_field (mail=0xf21910, 
buf=<value optimized out>, field_idx=<value optimized out>) at 
index-mail.c:68
         ret = -1765278176
#5  0x00007f35153685c5 in index_mail_get_fixed_field (mail=0xf21910, 
field=<value optimized out>, data=<value optimized out>, data_size=4) at 
index-mail.c:130
         field_idx = 0
         buf = {data = 0xf21b14, used = 0, priv = {0xf21b14, 0x0, 0x4, 
0x0, 0x0}}
         __FUNCTION__ = "index_mail_get_fixed_field"
#6  0x00007f3515368843 in index_mail_update_access_parts (mail=0xf21910) 
at index-mail.c:1385
         _mail = 0xf21910
         data = 0xf21a80
         cache_fields = 0xf164a0
         cache_view = 0xf16110
         hdr = <value optimized out>
         input = 0x7f35150a0227
#7  0x00007f3515368a56 in index_mail_set_seq (_mail=0xf21910, seq=52, 
saving=<value optimized out>) at index-mail.c:1521
         mail = 0xf21910
#8  0x00007f351536e72b in search_more_with_mail (ctx=0xf1f620, 
mail_r=0x7fff96c80190) at index-search.c:1507
         _ctx = 0xf1f620
         box = 0xf12030
         cost2 = <value optimized out>
         match = <value optimized out>
         ret = -1
         imail = 0xf21910
         cost1 = 0
#9  search_more_with_prefetching (ctx=0xf1f620, mail_r=0x7fff96c80190) 
at index-search.c:1579
         _data_stack_cur_id = 4
         ret = <value optimized out>
         mail = 0xf21910
         mails = <value optimized out>
---Type <return> to continue, or q <return> to quit---
#10 search_more (ctx=0xf1f620, mail_r=0x7fff96c80190) at index-search.c:1650
         imail = <value optimized out>
         ret = -1765278176
#11 0x00007f351536ee28 in index_storage_search_next_nonblock 
(_ctx=0xf1f620, mail_r=0xf0f9a8, tryagain_r=0x7fff96c801ff) at 
index-search.c:1674
         ctx = 0xf1f620
         mail = <value optimized out>
         mailp = <value optimized out>
         seq = <value optimized out>
         ret = <value optimized out>
#12 0x00007f3515348507 in mailbox_search_next_nonblock (ctx=0xf1f620, 
mail_r=0xf0f9a8, tryagain_r=<value optimized out>) at mail-storage.c:1787
         box = <value optimized out>
#13 0x00007f3515348566 in mailbox_search_next (ctx=0xf1f620, 
mail_r=0xf0f9a8) at mail-storage.c:1773
         tryagain = false
#14 0x0000000000418a0e in imap_fetch_more_int (ctx=0xf0f948, 
cancel=false) at imap-fetch.c:479
         state = 0xf0f998
         client = 0xf0efb0
         handlers = 0xf0fc78
         count = 5
         ret = <value optimized out>
         __FUNCTION__ = "imap_fetch_more_int"
#15 0x0000000000418b61 in imap_fetch_more (ctx=0xf0f948, cmd=0xf0f810) 
at imap-fetch.c:556
         ret = <value optimized out>
         __FUNCTION__ = "imap_fetch_more"
#16 0x000000000040d75d in cmd_fetch (cmd=0xf0f810) at cmd-fetch.c:284
         client = 0xf0efb0
         ctx = 0xf0f948
         args = 0xefaa38
         next_arg = <value optimized out>
         list_arg = 0x0
         search_args = 0x0
         qresync_args = {qresync_sample_seqset = 0xf0f7f0, 
qresync_sample_uidset = 0x7f35150ae158}
         messageset = 0xefaba0 "52:84"
         send_vanished = <value optimized out>
         ret = <value optimized out>
#17 0x0000000000416fbd in command_exec (cmd=0xf0f810) at imap-commands.c:158
         hook = 0xef80f0
         ret = <value optimized out>
#18 0x00000000004160e0 in client_command_input (cmd=0xf0f810) at 
imap-client.c:780
         client = 0xf0efb0
         command = <value optimized out>
         __FUNCTION__ = "client_command_input"
#19 0x00000000004161cd in client_command_input (cmd=0xf0f810) at 
imap-client.c:841
         client = 0xf0efb0
         command = <value optimized out>
         __FUNCTION__ = "client_command_input"
#20 0x000000000041644d in client_handle_next_command (client=0xf0efb0) 
at imap-client.c:879
No locals.
#21 client_handle_input (client=0xf0efb0) at imap-client.c:891
         _data_stack_cur_id = 3
         ret = false
         remove_io = false
         handled_commands = false
         __FUNCTION__ = "client_handle_input"
#22 0x00000000004167bf in client_input (client=0xf0efb0) at 
imap-client.c:933
         cmd = <value optimized out>
         output = 0xf08100
---Type <return> to continue, or q <return> to quit---
         bytes = 77
         __FUNCTION__ = "client_input"
#23 0x00007f351509b336 in io_loop_call_io (io=0xf081d0) at ioloop.c:388
         ioloop = 0xef7720
         t_id = 2
#24 0x00007f351509c3a7 in io_loop_handler_run (ioloop=<value optimized 
out>) at ioloop-epoll.c:220
         ctx = 0xef83d0
         events = <value optimized out>
         event = 0xef9230
         list = 0xef9e00
         io = <value optimized out>
         tv = {tv_sec = 1799, tv_usec = 999407}
         msecs = <value optimized out>
         ret = 1
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run"
#25 0x00007f351509b2a8 in io_loop_run (ioloop=0xef7720) at ioloop.c:412
         __FUNCTION__ = "io_loop_run"
#26 0x00007f3515049f73 in master_service_run (service=0xef75b0, 
callback=<value optimized out>) at master-service.c:566
No locals.
#27 0x000000000041fd07 in main (argc=1, argv=0xef7390) at main.c:400
         set_roots = {0x427c60, 0x0}
         login_set = {auth_socket_path = 0xeef060 "\210\360", 
<incomplete sequence \356>, postlogin_socket_path = 0x0, 
postlogin_timeout_secs = 60,
           callback = 0x41ff00 <login_client_connected>, 
failure_callback = 0x41fea0 <login_client_failed>, request_auth_token = 1}
         service_flags = <value optimized out>
         storage_service_flags = <value optimized out>
         username = <value optimized out>
         c = <value optimized out>

Thanks
Francesco

-- 
Documento senza titolo
*Francesco Fiore*
System Engineer
Babel <http://www.babel.it/> - una business unit di Par-Tec S.p.A.
*T:* 06.9826.9600 *M:* 338.756.9180 *F:* 06.9826.9680
P.zza S.Benedetto da Norcia, 33 - 00040 Pomezia (Roma)
------------------------------------------------------------------------
CONFIDENZIALE: Questo messaggio ed i suoi allegati sono di carattere 
confidenziale per i destinatari in indirizzo.
E' vietato l'inoltro non autorizzato a destinatari diversi da quelli 
indicati nel messaggio originale.
Se ricevuto per errore, l'uso del contenuto è proibito; si prega di 
comunicarlo al mittente e cancellarlo immediatamente.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logo.gif
Type: image/gif
Size: 1983 bytes
Desc: not available
URL: <http://dovecot.org/pipermail/dovecot/attachments/20140210/2f9aad48/attachment.gif>


More information about the dovecot mailing list