[Dovecot] Segmentation fault in doveadm with lib01_acl_plugin.so
Alessio Cecchi
alessio at skye.it
Sat Oct 13 11:16:27 EEST 2012
Hi,
I'm running dovecot 2.1.10 on Debian 6.
When I run "doveadm expunge -A mailbox Trash savedbefore 30d" it crash
with "Segmentation fault"
[15022673.496902] doveadm[13072]: segfault at 8 ip 00007f4b7041f551 sp
00007fffdab4f8c0 error 4 in lib01_acl_plugin.so[7f4b70415000+10000]
If I add -D to doveadm I can see this:
doveadm(myuser at mydomain.com): Debug: Added userdb setting:
plugin/quota_rule=*:backend=524288000S
doveadm(myuser at mydomain.com): Debug: Effective uid=89, gid=89,
home=/home/vpopmail/domains/2/mydomain.com/myuser
doveadm(myuser at mydomain.com): Debug: Quota root: name=UserQuota
backend=maildir args=
doveadm(myuser at mydomain.com): Debug: Quota rule: root=UserQuota
mailbox=* bytes=524288000 messages=0
doveadm(myuser at mydomain.com): Debug: Quota rule: root=UserQuota
mailbox=Trash bytes=+104857600 messages=0
doveadm(myuser at mydomain.com): Debug: Quota root: name=User quota
backend=dict args=:noenforcing:proxy::quota
doveadm(myuser at mydomain.com): Debug: dict quota:
user=myuser at mydomain.com, uri=proxy::quota, noenforcing=1
doveadm(myuser at mydomain.com): Debug: Namespace inbox: type=private,
prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes
location=maildir:~/Maildir
doveadm(myuser at mydomain.com): Debug: maildir++:
root=/home/vpopmail/domains/2/mydomain.com/myuser/Maildir, index=,
control=, inbox=/home/vpopmail/domains/2/mydomain.com/myuser/Maildir,
alt=
doveadm(myuser at mydomain.com): Debug: acl: initializing backend with
data:
vfile:/usr/local/dovecot-2.1/etc/dovecot/global-acls:cache_secs=300
doveadm(myuser at mydomain.com): Debug: acl: acl username =
myuser at mydomain.com
doveadm(myuser at mydomain.com): Debug: acl: owner = 1
doveadm(myuser at mydomain.com): Debug: acl vfile: Global ACL directory:
/usr/local/dovecot-2.1/etc/dovecot/global-acls
doveadm(myuser at mydomain.com): Debug: Namespace : type=shared,
prefix=shared/%n/, sep=/, inbox=no, hidden=no, list=children,
subscriptions=no location=maildir:%h/Maildir:INDEX=~/Maildir/shared/%u
doveadm(myuser at mydomain.com): Debug: shared:
root=/usr/local/dovecot-2.1/var/run/dovecot, index=, control=, inbox=,
alt=
doveadm(myuser at mydomain.com): Debug: acl: initializing backend with
data:
vfile:/usr/local/dovecot-2.1/etc/dovecot/global-acls:cache_secs=300
doveadm(myuser at mydomain.com): Debug: acl: acl username =
myuser at mydomain.com
doveadm(myuser at mydomain.com): Debug: acl: owner = 0
doveadm(myuser at mydomain.com): Debug: acl vfile: Global ACL directory:
/usr/local/dovecot-2.1/etc/dovecot/global-acls
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=276
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=277
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=278
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=279
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=280
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=281
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=282
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=283
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=284
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=285
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=286
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=287
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=288
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=289
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=290
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=291
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=292
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=293
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=294
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=295
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=296
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=297
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=298
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=299
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=300
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=301
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=302
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=303
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=304
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=305
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=306
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=307
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=308
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=309
doveadm(myuser at mydomain.com): Debug: expunge: box=Trash uid=310
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls//.DEFAULT not found
doveadm(myuser at mydomain.com): Debug: Namespace : Using permissions from
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir: mode=0700 gid=-1
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls/Drafts not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Drafts/dovecot-acl
not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls/Spam not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Spam/dovecot-acl
not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls/Sent not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Sent/dovecot-acl
not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls/Trash not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Trash/dovecot-acl
not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/usr/local/dovecot-2.1/etc/dovecot/global-acls/INBOX not found
doveadm(myuser at mydomain.com): Debug: acl vfile: file
/home/vpopmail/domains/2/mydomain.com/myuser/Maildir/dovecot-acl not
found
Segmentation fault
If I disable "acl" plugin in dovecot all works fine. I think that this
problem is connected with "Dovecot deliver Segmentation fault when
arrive the first message"
http://www.dovecot.org/list/dovecot/2012-September/068343.html that I'm
still experiencing.
How can get core dumps from "doveadm"?
This is my dovecot config with acl enabled:
# 2.1.10: /usr/local/dovecot-2.1/etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.6
auth_cache_size = 512 k
auth_worker_max_count = 60
default_login_user = nobody
dict {
acl =
mysql:/usr/local/dovecot-2.1/etc/dovecot/dovecot-share-folder.conf
quota =
mysql:/usr/local/dovecot-2.1/etc/dovecot/dovecot-dict-sql.conf.ext
}
disable_plaintext_auth = no
dotlock_use_excl = no
first_valid_gid = 89
first_valid_uid = 89
last_valid_gid = 89
last_valid_uid = 89
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
log_path = /var/log/dovecot/dovecot.log
mail_fsync = always
mail_location = maildir:~/Maildir
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = quota acl
maildir_very_dirty_syncs = 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
mmap_disable = yes
namespace {
list = children
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
prefix = shared/%%n/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
}
passdb {
args = /usr/local/dovecot-2.1/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl =
vfile:/usr/local/dovecot-2.1/etc/dovecot/global-acls:cache_secs=300
acl_shared_dict = proxy::acl
quota = maildir:UserQuota
quota2 = dict:User quota::noenforcing:proxy::quota
quota_rule2 = Trash:storage=+100M
sieve = ~/.dovecot.sieve
sieve_default =
/usr/local/dovecot-2.1/etc/dovecot/sieve/default.sieve
sieve_dir = ~/sieve
}
protocols = imap pop3 sieve
sendmail_path = /var/qmail/bin/sendmail
service auth {
unix_listener auth-userdb {
group = vchkpw
mode = 0660
user = vpopmail
}
}
service dict {
unix_listener dict {
group = vchkpw
mode = 0660
user = vpopmail
}
}
service imap-login {
service_count = 0
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service pop3-login {
service_count = 0
}
ssl_cert = </etc/ssl/certs/wildcard.net.pem
ssl_key = </etc/ssl/private/wildcard.net.key
userdb {
args = /usr/local/dovecot-2.1/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
log_path = /var/log/dovecot/lda.log
mail_plugins = quota acl sieve
}
protocol imap {
imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
tb-lsub-flags
mail_max_userip_connections = 20
mail_plugins = quota acl imap_quota imap_acl
}
protocol sieve {
mail_max_userip_connections = 10
}
protocol pop3 {
mail_max_userip_connections = 5
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
Thanks
More information about the dovecot
mailing list