[Dovecot] Dovecot 2.0.rc4 (a30a30d1e25a): LMTP dies intermittently
Hi,
not sure what change caused this but it first appeared when building HG a30a30d1e25a. LMTP dies intermittently.
Aug 6 16:00:57 spectre dovecot: lmtp(5509, alias@domain.tld): b9ESKJkVXEyFFQAAqZii3w: sieve: msgid=1281102852.6211.447.camel@kurkku.sapo.corppt.com: stored mail into mailbox 'Public/Mailing-Lists/Dovecot' Aug 6 16:00:57 spectre dovecot: lmtp(5509): Disconnect from local: Client quit Aug 6 16:17:05 spectre dovecot: master: Error: service(lmtp): child 5509 killed with signal 11 (core not dumped)
Let me know if you need more details.
Regards Thomas
On Fri, 2010-08-06 at 16:36 +0200, Thomas Leuxner wrote:
Aug 6 16:17:05 spectre dovecot: master: Error: service(lmtp): child 5509 killed with signal 11 (core not dumped)
gdb backtrace is the only good way to know why it would dump a core:
- Set:
service lmtp { executable = lmtp -D }
- Run "ulimit -c unlimited" before starting dovecot
Anyway, are you using mbox format? Out-of-quota with mbox was crashing. This fixes it: http://hg.dovecot.org/dovecot-2.0/rev/4ef2280ee490
Am 06.08.2010 um 16:51 schrieb Timo Sirainen:
service lmtp { executable = lmtp -D }
Added that but still does not dump cores when LMTP crashes.
[19:22] root spectre:/etc/dovecot/conf.d# doveconf -n | grep executable executable = lmtp -D
- Run "ulimit -c unlimited" before starting dovecot
This is set.
What I can add is, it seems to crash on every second delivery. Not using 'mbox' but 'mdbox'
# 2.0.rc4 (a30a30d1e25a): /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 5.0.5 auth_verbose = yes mail_location = mdbox:~/mdbox mail_plugins = acl quota managesieve_notify_capability = mailto managesieve_sieve_capability = comparator-i;octet comparator-i;ascii-casemap fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date spamtest spamtestplus virustest namespace { hidden = no inbox = yes location = prefix = separator = / type = private } namespace { list = yes location = maildir:/var/vmail/public:LAYOUT=fs:INDEX=~/public prefix = Public/ separator = / subscriptions = no type = public } passdb { args = username_format=%u /var/vmail/auth.d/%d/passwd driver = passwd-file } plugin { acl = vfile:/var/vmail/conf.d/%d/acls:cache_secs=300 mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename quota = dict:user::file:%h/mdbox/dovecot-quota quota_rule = *:storage=1GB quota_rule2 = Trash:storage=+10%% sieve = ~/.dovecot.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/conf.d/%d/sieve } protocols = imap lmtp service auth-worker { user = doveauth } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } user = doveauth } service imap-login { inet_listener imap { address = 1.2.3.4 port = 143 } inet_listener imaps { port = 0 } } service lmtp { executable = lmtp -D unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0660 user = postfix } } ssl_cert =
On Fri, 2010-08-06 at 19:27 +0200, Thomas Leuxner wrote:
Am 06.08.2010 um 16:51 schrieb Timo Sirainen:
service lmtp { executable = lmtp -D }
Added that but still does not dump cores when LMTP crashes.
What does it log? Is it just "(core not dumped)"? Usually it says a reason.
What I can add is, it seems to crash on every second delivery. Not using 'mbox' but 'mdbox'
If you can easily reproduce it, then you could attach gdb into lmtp process and get the backtrace from there:
gdb -p pidof lmtp
cont
<make it crash>
bt full
Am 06.08.2010 um 19:39 schrieb Timo Sirainen:
If you can easily reproduce it, then you could attach gdb into lmtp process and get the backtrace from there:
gdb -p
pidof lmtp
cont <make it crash> bt full
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". Attaching to process 12841 Reading symbols from /usr/lib/dovecot/lmtp...Reading symbols from /usr/lib/debug/usr/lib/dovecot/lmtp...done. done. Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot-storage.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0 Reading symbols from /usr/lib/dovecot/libdovecot-lda.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot-lda.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot-lda.so.0 Reading symbols from /usr/lib/dovecot/libdovecot.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot.so.0 Reading symbols from /lib/libdl.so.2...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/librt.so.1...done. Loaded symbols for /lib/librt.so.1 Reading symbols from /lib/libc.so.6...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux-x86-64.so.2...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib/libpthread.so.0...done. [Thread debugging using libthread_db enabled] [New Thread 0x7ffa65801700 (LWP 12841)] Loaded symbols for /lib/libpthread.so.0 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /usr/lib/dovecot/modules/lib01_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib01_acl_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib01_acl_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib10_quota_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib10_quota_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib10_quota_plugin.so Reading symbols from /usr/lib/dovecot/modules/lib90_sieve_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib90_sieve_plugin.so...done. done. Loaded symbols for /usr/lib/dovecot/modules/lib90_sieve_plugin.so Reading symbols from /usr/lib/dovecot/libdovecot-sieve.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot-sieve.so.0.0.0...done. done. Loaded symbols for /usr/lib/dovecot/libdovecot-sieve.so.0 0x00007ffa648015f3 in epoll_wait () from /lib/libc.so.6 (gdb) cont Continuing.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffa65801700 (LWP 12841)]
acl_mail_namespace_storage_added (ns=0xd33e10) at acl-mailbox-list.c:509
509 acl-mailbox-list.c: No such file or directory.
in acl-mailbox-list.c
(gdb) bt full
#0 acl_mail_namespace_storage_added (ns=0xd33e10) at acl-mailbox-list.c:509
auser = <value optimized out>
backend = <value optimized out>
current_username = 0xd36268 "raw user"
owner_username = <value optimized out>
owner = <value optimized out>
#1 0x00007ffa65351829 in hook_mail_namespace_storage_added (ns=0xd33e10) at mail-storage-hooks.c:256
hooks__foreach_end = (const void *) 0xd371a0
hooks = (const struct mail_storage_hooks * const *) 0xd37180
#2 0x00007ffa65351274 in mail_storage_create (ns=0xd33e10, driver=0xcf0e58 "=�
On Fri, 2010-08-06 at 19:50 +0200, Thomas Leuxner wrote:
#0 acl_mail_namespace_storage_added (ns=0xd33e10) at acl-mailbox-list.c:509
Am 06.08.2010 um 20:03 schrieb Timo Sirainen:
On Fri, 2010-08-06 at 19:50 +0200, Thomas Leuxner wrote:
#0 acl_mail_namespace_storage_added (ns=0xd33e10) at acl-mailbox-list.c:509
Looking good. Thanks.
participants (2)
-
Thomas Leuxner
-
Timo Sirainen