Alessio Cecchi
2012-Oct-13 08:16 UTC
[Dovecot] Segmentation fault in doveadm with lib01_acl_plugin.so
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 argsdoveadm(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, altdoveadm(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=, altdoveadm(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
Timo Sirainen
2012-Oct-13 08:42 UTC
[Dovecot] Segmentation fault in doveadm with lib01_acl_plugin.so
On 13.10.2012, at 11.16, Alessio Cecchi wrote:> 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]The most helpful way to get this fixed is to get a gdb backtrace: http://dovecot.org/bugreport.html
Possibly Parallel Threads
- Dovecot deliver Segmentation fault when arrive the first message
- I can't sync with dsync and imapc
- Doveadm sometimes failed "to iterate through some users" after upgrade to 2.2
- doveadm_allowed_commands doesn't work as expected
- Dovecot 2.1.7 crash (with core dumped)