[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@mydomain.com): Debug: Added userdb setting: plugin/quota_rule=*:backend=524288000S doveadm(myuser@mydomain.com): Debug: Effective uid=89, gid=89, home=/home/vpopmail/domains/2/mydomain.com/myuser doveadm(myuser@mydomain.com): Debug: Quota root: name=UserQuota backend=maildir args= doveadm(myuser@mydomain.com): Debug: Quota rule: root=UserQuota mailbox=* bytes=524288000 messages=0 doveadm(myuser@mydomain.com): Debug: Quota rule: root=UserQuota mailbox=Trash bytes=+104857600 messages=0 doveadm(myuser@mydomain.com): Debug: Quota root: name=User quota backend=dict args=:noenforcing:proxy::quota doveadm(myuser@mydomain.com): Debug: dict quota: user=myuser@mydomain.com, uri=proxy::quota, noenforcing=1 doveadm(myuser@mydomain.com): Debug: Namespace inbox: type=private, prefix=, sep=/, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:~/Maildir doveadm(myuser@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@mydomain.com): Debug: acl: initializing backend with data: vfile:/usr/local/dovecot-2.1/etc/dovecot/global-acls:cache_secs=300 doveadm(myuser@mydomain.com): Debug: acl: acl username = myuser@mydomain.com doveadm(myuser@mydomain.com): Debug: acl: owner = 1 doveadm(myuser@mydomain.com): Debug: acl vfile: Global ACL directory: /usr/local/dovecot-2.1/etc/dovecot/global-acls doveadm(myuser@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@mydomain.com): Debug: shared: root=/usr/local/dovecot-2.1/var/run/dovecot, index=, control=, inbox=, alt= doveadm(myuser@mydomain.com): Debug: acl: initializing backend with data: vfile:/usr/local/dovecot-2.1/etc/dovecot/global-acls:cache_secs=300 doveadm(myuser@mydomain.com): Debug: acl: acl username = myuser@mydomain.com doveadm(myuser@mydomain.com): Debug: acl: owner = 0 doveadm(myuser@mydomain.com): Debug: acl vfile: Global ACL directory: /usr/local/dovecot-2.1/etc/dovecot/global-acls doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=276 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=277 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=278 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=279 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=280 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=281 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=282 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=283 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=284 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=285 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=286 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=287 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=288 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=289 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=290 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=291 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=292 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=293 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=294 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=295 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=296 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=297 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=298 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=299 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=300 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=301 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=302 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=303 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=304 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=305 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=306 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=307 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=308 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=309 doveadm(myuser@mydomain.com): Debug: expunge: box=Trash uid=310 doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls//.DEFAULT not found doveadm(myuser@mydomain.com): Debug: Namespace : Using permissions from /home/vpopmail/domains/2/mydomain.com/myuser/Maildir: mode=0700 gid=-1 doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls/Drafts not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Drafts/dovecot-acl not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls/Spam not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Spam/dovecot-acl not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls/Sent not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Sent/dovecot-acl not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls/Trash not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /home/vpopmail/domains/2/mydomain.com/myuser/Maildir/.Trash/dovecot-acl not found doveadm(myuser@mydomain.com): Debug: acl vfile: file /usr/local/dovecot-2.1/etc/dovecot/global-acls/INBOX not found doveadm(myuser@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
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
Il 2012-10-13 10:42 Timo Sirainen ha scritto:
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
Hi Timo,
I'm unable to get core dump from doveadm, I start dovecot after run "ulimit -c unlimited" and set echo "/tmp/%p" > /proc/sys/kernel/core_pattern, so core dumps is enable:
Oct 13 12:38:02 master: Info: Dovecot v2.1.10 starting up Oct 13 12:38:18 auth-worker(5000): Info: mysql(localhost): Connected to database vpopmail Oct 13 12:38:18 dict: Info: mysql(109.168.113.139): Connected to database dovecot Oct 13 12:38:26 dict: Info: mysql(109.168.113.139): Connected to database dovecot Oct 13 12:38:29 dict: Info: mysql(109.168.113.139): Connected to database dovecot Oct 13 12:39:51 dict: Info: mysql(109.168.113.139): Connected to database dovecot
but when doveadm stops with "Segmentation fault" I'm unable to find any dump file and no information in dovecot.log.
Can you help me? Thanks
Alessio Cecchi wrote:
I'm unable to get core dump from doveadm, I start dovecot after run "ulimit -c unlimited" and set echo "/tmp/%p" > /proc/sys/kernel/core_pattern, so core dumps is enable:
but when doveadm stops with "Segmentation fault" I'm unable to find any dump file and no information in dovecot.log.
On Debian try to enable coredumps in /etc/default/dovecot and start dovecot as usual via init script. Also watch out for core dumps and segfaults in /var/log/kern.log
Regards Daniel
Il 2012-10-14 16:38 Daniel Parthey ha scritto:
Alessio Cecchi wrote:
I'm unable to get core dump from doveadm, I start dovecot after run "ulimit -c unlimited" and set echo "/tmp/%p" > /proc/sys/kernel/core_pattern, so core dumps is enable:
but when doveadm stops with "Segmentation fault" I'm unable to find any dump file and no information in dovecot.log.
On Debian try to enable coredumps in /etc/default/dovecot and start dovecot as usual via init script. Also watch out for core dumps and segfaults in /var/log/kern.log
Thanks, my dovecot installation is build from source. Dovecot start fine with core dumps enabled but doveadm don't return "Core dumped" when crash.
On 10/14/2012 05:58 PM Alessio Cecchi wrote:
Thanks, my dovecot installation is build from source. Dovecot start fine with core dumps enabled but doveadm don't return "Core dumped" when crash.
In your terminal emulator enter the following commands:
ulimit -c unlimited
doveadm …
Regards, Pascal
The trapper recommends today: decade.1228919@localdomain.org
Il 13/10/2012 10:42, Timo Sirainen ha scritto:
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
Hi,
after run "dovecot quota recalc -A" no error from "doveadm expunge -A mailbox Trash savedbefore 30d" is appeared and so have not been able to generate the "dump".
-- Alessio Cecchi is: @ ILS -> http://www.linux.it/~alessice/ on LinkedIn -> http://www.linkedin.com/in/alessice Assistenza Sistemi GNU/Linux -> http://www.cecchi.biz/ @ PLUG -> ex-Presidente, adesso senatore a vita, http://www.prato.linux.it
participants (4)
-
Alessio Cecchi
-
Daniel Parthey
-
Pascal Volk
-
Timo Sirainen