Matteo Biagini
2016-Dec-16  12:56 UTC
service(indexer-worker): child 18977 killed with signal 11 (core dumped)
Hello to everybody,
first of all: thanks a lot for your hard work and for this nice piece
of software!
After many search about the following SIGSEGV, I decide to post the backtrace
and I hope to have avoided duplicated thread.
The problem arise after I enable clucene fts. I tryed the clucene ports version
(I am using OpenBSD) and a fixed version from github
(Blue-Rocket/clucene::feature/pod) which contains FreeBSD fixes and
others memory leak patches, but the problem persists.
I built either dovecot-* and clucene-core with -g and the following
logs are taken
from that version.
Maybe, I can do more debugging but I don't know how; some ideas?
thanks a lot
== LOG =Dec 16 12:30:34 mail02 dovecot: indexer-worker(user at hostname):
Indexed
1 messages in Trash
Dec 16 12:31:16 mail02 dovecot: imap-login: Login:
user=<user at hostname>, method=PLAIN, rip=10.244.3.101,
lip=10.244.3.200, mpid=90234, TLS, session=<68Ny6MRDml8K9ANl>
Dec 16 12:31:16 mail02 dovecot: imap-login: Login:
user=<user at hostname>, method=PLAIN, rip=10.244.3.101,
lip=10.244.3.200, mpid=59810, TLS, session=<c7xz6MRDzV4K9ANl>
Dec 16 12:31:16 mail02 dovecot: imap-login: Login:
user=<user at hostname>, method=PLAIN, rip=10.244.3.101,
lip=10.244.3.200, mpid=66756, TLS, session=<UtNz6MRDiJwK9ANl>
Dec 16 12:31:16 mail02 dovecot: imap-login: Login:
user=<user at hostname>, method=PLAIN, rip=10.244.3.101,
lip=10.244.3.200, mpid=81959, TLS, session=<gJZ06MRD9HQK9ANl>
Dec 16 12:31:16 mail02 dovecot: imap-login: Login:
user=<user at hostname>, method=PLAIN, rip=10.244.3.101,
lip=10.244.3.200, mpid=14099, TLS, session=<BL116MRD3DgK9ANl>
Dec 16 12:31:16 mail02 dovecot: indexer-worker(user at hostname): Indexed
1 messages in INBOX
Dec 16 12:32:18 mail02 dovecot: indexer-worker: Fatal: master:
service(indexer-worker): child 18977 killed with signal 11 (core
dumped)
== GDB =(gdb) bt
#0  strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:152
#1  0x0000093434d7c120 in __vfprintf (fp=0x7f7fffff96c0,
fmt0=0x9343cef79ae "Timeout leak: %p (%s:%u)", ap=Variable
"ap" is not
available.
) at /usr/src/lib/libc/stdio/vfprintf.c:885
#2  0x0000093434d9b068 in *_libc_vsnprintf (str=0x933ab0940b8 "Timeout
leak: 0x9342f652300", n=120, fmt=0x9343cef79ae "Timeout leak: %p
(%s:%u)", ap=0x7f7fffff9870) at /usr/src/lib/libc/stdio/vsnprintf.c:61
#3  0x000009343cdd4aa5 in str_vprintfa (str=0x933ab094078,
fmt=0x9343cef79ae "Timeout leak: %p (%s:%u)", args=0x7f7fffff9870) at
str.c:129
#4  0x000009343cdaacd1 in internal_handler (ctx=0x9343d22fab0,
format=0x9343cef79ae "Timeout leak: %p (%s:%u)", args=0x7f7fffff9870)
at failures.c:602
#5  0x000009343cdab839 in i_internal_error_handler (ctx=Variable "ctx"
is not available.
) at failures.c:677
#6  0x000009343cdab3f4 in i_warning (format=0x9343cef79ae "Timeout
leak: %p (%s:%u)") at failures.c:325
#7  0x000009343cdc107b in io_loop_destroy (_ioloop=Variable "_ioloop"
is not available.
) at ioloop.c:741
#8  0x000009343cd485bd in master_service_deinit (_service=Variable
"_service" is not available.
) at master-service.c:876
#9  0x0000093193802642 in main (argc=1, argv=0x7f7fffff9b28) at
indexer-worker.c:83
(gdb) bt full
#0  strlen () at /usr/src/lib/libc/arch/amd64/string/strlen.S:152
No locals.
#1  0x0000093434d7c120 in __vfprintf (fp=0x7f7fffff96c0,
fmt0=0x9343cef79ae "Timeout leak: %p (%s:%u)", ap=Variable
"ap" is not
available.
) at /usr/src/lib/libc/stdio/vfprintf.c:885
        mbs = {
  __mbstate8 =
"{\t\000\000\000\000\000\000\000\000\000\000r3\t\000\000\000\000\000\000\000\000\000\0004\t\000\000\001\000\000\000\000\000\000\000223\177\177\000\000\001\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\t216U\035\rP",
'\0' <repeats 47 times>, __mbstateL = 10118011532464}
        mbseqlen = Variable "mbseqlen" is not available.
== DOVECONF =# 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: OpenBSD 6.0 amd64
auth_master_user_separator = *
auth_mechanisms = PLAIN LOGIN
base_dir = /var/run/dovecot
dict {
  acl = mysql:/etc/dovecot/dovecot-share-folder.conf
  quotadict = mysql:/etc/dovecot/dovecot-used-quota.conf
}
first_valid_uid = 2000
last_valid_uid = 2000
listen = * [::]
login_greeting = Welcome
mail_gid = 2000
mail_location = mdbox:%Lh/Maildir/:INDEX=%Lh/Maildir/
mail_plugins = quota mailbox_alias acl zlib fts fts_lucene trash
mail_uid = 2000
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 index ihave duplicate mime foreverypart
extracttext
mdbox_rotate_size = 60 M
namespace {
  inbox = yes
  location   mailbox Archive {
    auto = no
    special_use = \Archive
  }
  mailbox Archives {
    auto = no
    special_use = \Archive
  }
  mailbox "Deleted Messages" {
    auto = no
    special_use = \Trash
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 30 days
    special_use = \Junk
  }
  mailbox "Junk E-mail" {
    auto = no
    special_use = \Junk
  }
  mailbox SPAM {
    auto = no
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Items" {
    auto = no
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 30 days
    special_use = \Trash
  }
  prefix   separator = /
  type = private
}
namespace {
  list = children
  location = mdbox:%%Lh/Maildir/:INDEX=%%Lh/Maildir/Shared/%%Ld/%%Ln
  prefix = Shared/%%u/
  separator = /
  subscriptions = yes
  type = shared
}
passdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
}
passdb {
  args = /etc/dovecot/dovecot-master-users
  driver = passwd-file
  master = yes
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
  antispam_backend = MAILTRAIN
  antispam_mail_notspam = --ham
  antispam_mail_sendmail = /usr/local/bin/sa-learn-pipe.sh
  antispam_mail_spam = --spam
  antispam_signature = X-Spam-Flag
  antispam_signature_missing = move
  antispam_spam = Spam;Junk
  antispam_spam_pattern = spam;Spam;junk;Junk
  antispam_spam_pattern_ignorecase = SPAM;JUNK
  antispam_trash = trash;Trash;Deleted Items;Deleted Messages
  antispam_trash_pattern = trash;Trash;Deleted *
  antispam_trash_pattern_ignorecase = TRASH
  auth_socket_path = /var/run/dovecot/auth-master
  fts = lucene
  fts_autoindex = yes
  fts_lucene = whitespace_chars=@.
  mailbox_alias_new = Sent Messages
  mailbox_alias_new2 = Sent Items
  mailbox_alias_new3 = SPAM
  mailbox_alias_new4 = Spam
  mailbox_alias_old = Sent
  mailbox_alias_old2 = Sent
  mailbox_alias_old3 = Junk
  mailbox_alias_old4 = Junk
  quota = dict:user::proxy::quotadict
  quota_grace = 10%%
  quota_rule = *:storage=1G
  quota_warning = storage=100%% quota-warning 100 %u
  quota_warning2 = storage=95%% quota-warning 95 %u
  quota_warning3 = storage=90%% quota-warning 90 %u
  quota_warning4 = storage=85%% quota-warning 85 %u
  sieve = %Lh/sieve/dovecot.sieve
  sieve_before = /var/vmail/sieve/dovecot.sieve
  sieve_dir = %Lh/sieve
  sieve_global_dir = /var/vmail/sieve
  sieve_max_redirects = 30
  trash = /etc/dovecot/dovecot-trash.conf.ext
  zlib_save = lz4
  zlib_save_level = 6
}
protocols = pop3 imap sieve lmtp
service auth {
  inet_listener {
    address = 127.0.0.1
    port = 12345
  }
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = _postfix
    mode = 0666
    user = _postfix
  }
  unix_listener auth-master {
    group = vmail
    mode = 0666
    user = vmail
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service dict {
  unix_listener dict {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  process_limit = 500
  service_count = 1
}
service lmtp {
  executable = lmtp -L
  inet_listener lmtp {
    address = 127.0.0.1
    port = 24
  }
  process_min_avail = 5
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = _postfix
    mode = 0600
    user = _postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service pop3-login {
  service_count = 1
}
service quota-status {
  client_limit = 2
  executable = quota-status -p postfix
  inet_listener {
    address = 127.0.0.1
    port = 12340
  }
}
service quota-warning {
  executable = script /usr/local/bin/dovecot-quota-warning.sh
  unix_listener quota-warning {
    group = vmail
    mode = 0660
    user = vmail
  }
}
ssl = required
ssl_cert = </etc/ssl/dovecot.crt
ssl_cipher_list = EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
ssl_dh_parameters_length = 2048
ssl_key =  # hidden, use -P to show it
ssl_prefer_server_ciphers = yes
ssl_protocols = !SSLv2 !SSLv3
syslog_facility = local5
userdb {
  args = /etc/dovecot/dovecot-mysql.conf
  driver = sql
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-master
  lda_mailbox_autocreate = yes
  lda_mailbox_autosubscribe = yes
  mail_plugins = quota mailbox_alias acl zlib fts fts_lucene trash
sieve notify push_notification
  postmaster_address = root
}
protocol lmtp {
  lmtp_save_to_detail_mailbox = yes
  log_path = syslog
  mail_plugins = quota sieve notify push_notification
  postmaster_address = postmaster
  recipient_delimiter = +
}
protocol imap {
  imap_client_workarounds = tb-extra-mailbox-sep
  imap_idle_notify_interval = 29 mins
  imap_max_line_length = 4 M
  mail_max_userip_connections = 30
  mail_plugins = quota mailbox_alias acl zlib fts fts_lucene trash
imap_quota imap_acl imap_zlib antispam
}
protocol pop3 {
  mail_max_userip_connections = 30
  mail_plugins = quota mailbox_alias acl zlib fts fts_lucene trash
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_uidl_format = %08Xu%08Xv
}
Aki Tuomi
2016-Dec-16  19:27 UTC
service(indexer-worker): child 18977 killed with signal 11 (core dumped)
> On December 16, 2016 at 2:56 PM Matteo Biagini <matteo.biagini88 at gmail.com> wrote: > > > Hello to everybody, > first of all: thanks a lot for your hard work and for this nice piece > of software! > > After many search about the following SIGSEGV, I decide to post the backtrace > and I hope to have avoided duplicated thread. > The problem arise after I enable clucene fts. I tryed the clucene ports version > (I am using OpenBSD) and a fixed version from github > (Blue-Rocket/clucene::feature/pod) which contains FreeBSD fixes and > others memory leak patches, but the problem persists. > I built either dovecot-* and clucene-core with -g and the following > logs are taken > from that version. > Maybe, I can do more debugging but I don't know how; some ideas? > > thanks a lot > > >Hi! This is known issue at the moment and we are looking into it. Currently our only advice is to use something else, such as solr, for indexing, until we get this fixed. Aki