Panic when runing "doveadm mailbox status ... vsize"
I'm using dovecot 2.2.24 on FreeBSD 10.3. I'm working on converting users from maildir to mdbox, for the usual reasons.
I have converted some test users and they generally work fine. But when I run "doveadm mailbox status" I get a Panic if I ask for the vsize field (or "all"), but other fields work fine. For example:
# doveadm mailbox status -u bubbacheex3 "messages" INBOX INBOX messages=53
# doveadm mailbox status -u bubbacheex3 "guid" INBOX INBOX guid=bf976912f3748957761d0100f906a3d0
# doveadm mailbox status -u bubbacheex3 "unseen" INBOX INBOX unseen=52
# doveadm mailbox status -u bubbacheex3 "vsize" INBOX doveadm(bubbacheex3): Panic: file file-lock.c: line 269: unreached Abort trap
I've only converted a few users, but they all exhibit this problem. I converted them with: dsync -u bubbacheex3 mirror maildir:/var/tmp/bubbacheex3
I have done a force-resync, which succeeds but doesn't change the behavior.
I spent a little time trying to get gdb running but didn't get very far (couldn't seem to get it to find the source files once I got a few levels deep in the call stack).
Before I beat my head on the gdb issue more, I thought I'd check here to see if anyone has any ideas. I didn't turn up anything in google or searching this list.
Here's my "doveconf -n" output:
# 2.2.24 (a82c823): /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 10.3-RELEASE-p3 amd64 ufs auth_failure_delay = 1 secs auth_mechanisms = plain login auth_winbind_helper_path = /usr/local/bin/ntlm_auth auth_worker_max_count = 60 base_dir = /var/run/dovecot/ disable_plaintext_auth = no first_valid_gid = 100 first_valid_uid = 1000 listen = * login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c mail_location = mdbox:/var/mail/%u:INDEX=/var/dovecot/%u mail_log_prefix = "%Us(%u): " mail_nfs_storage = yes mail_privileged_group = mail mdbox_rotate_interval = 1 days mdbox_rotate_size = 4 M mmap_disable = yes namespace { inbox = yes location = prefix = separator = . } passdb { args = session=yes dovecot driver = pam } protocols = imap pop3 service auth { unix_listener auth-client { mode = 0660 } unix_listener auth-master { mode = 0600 } user = root vsz_limit = 256 M } service imap-login { chroot = login process_limit = 128 process_min_avail = 10 service_count = 1 user = dovecot vsz_limit = 64 M } service imap { drop_priv_before_exec = no process_limit = 512 vsz_limit = 256 M } service pop3-login { chroot = login process_limit = 128 process_min_avail = 5 service_count = 1 user = dovecot vsz_limit = 64 M } service pop3 { drop_priv_before_exec = no process_limit = 512 vsz_limit = 256 M } ssl_cert = was automatically rejected:%n%r sendmail_path = /usr/sbin/sendmail }
Thanks,
Mark
Mark Costlow | Southwest Cyberport | Fax: +1-505-232-7975 cheeks@swcp.com | Web: www.swcp.com | Voice: +1-505-232-7992
Mail Minder - Intelligent Push Notifications for Email on the iPhone http://mailminderapp.com/download or in the App Store
On July 19, 2016 at 10:23 PM Mark Costlow cheeks@swcp.com wrote:
I'm using dovecot 2.2.24 on FreeBSD 10.3. I'm working on converting users from maildir to mdbox, for the usual reasons.
I have converted some test users and they generally work fine. But when I run "doveadm mailbox status" I get a Panic if I ask for the vsize field (or "all"), but other fields work fine. For example:
Any hope for gdb with bt full on the corefile?
Aki Tuomi Dovecot oy
Hi Mark,
Am 19.07.2016 um 21:23 schrieb Mark Costlow:
I have converted some test users and they generally work fine. But when I run "doveadm mailbox status" I get a Panic if I ask for the vsize field (or "all"), but other fields work fine. For example:
# doveadm mailbox status -u bubbacheex3 "messages" INBOX INBOX messages=53 # doveadm mailbox status -u bubbacheex3 "guid" INBOX INBOX guid=bf976912f3748957761d0100f906a3d0 # doveadm mailbox status -u bubbacheex3 "unseen" INBOX INBOX unseen=52 # doveadm mailbox status -u bubbacheex3 "vsize" INBOX doveadm(bubbacheex3): Panic: file file-lock.c: line 269: unreached Abort trap
Have you checked that line 269 in file-lock.c? https://github.com/dovecot/core/blob/master/src/lib/file-lock.c#L269
Do you have write access to the mail folder of the user?
I'm not sure anymore, maybe a workaround for me was: -o lock_method=fcntl Using fcntl instead of dotlock for that command... Or I made sure to have write access to the mail folder of the user... Or both.... I don't remember anymore.
Maybe someone can explain why dotlock is not supported in that code path.
Michael
Thank you for pushing me in the right direction!
I originally used "lock_method = dotlock" on this server. I had gotten to a point in trouble-shooting where i thought I should change to fcntl, which I did. BUT I did not restart dovecot! I just did that, and now "vsize" works.
I don't have a theory for why dotlock wouldn't be supported in that path.
Thanks again,
Mark
On Wed, Jul 20, 2016 at 01:25:44AM +0200, Michael Kliewe wrote:
Hi Mark,
Am 19.07.2016 um 21:23 schrieb Mark Costlow:
I have converted some test users and they generally work fine. But when I run "doveadm mailbox status" I get a Panic if I ask for the vsize field (or "all"), but other fields work fine. For example:
# doveadm mailbox status -u bubbacheex3 "messages" INBOX INBOX messages=53 # doveadm mailbox status -u bubbacheex3 "guid" INBOX INBOX guid=bf976912f3748957761d0100f906a3d0 # doveadm mailbox status -u bubbacheex3 "unseen" INBOX INBOX unseen=52 # doveadm mailbox status -u bubbacheex3 "vsize" INBOX doveadm(bubbacheex3): Panic: file file-lock.c: line 269: unreached Abort trap
Have you checked that line 269 in file-lock.c? https://github.com/dovecot/core/blob/master/src/lib/file-lock.c#L269
Do you have write access to the mail folder of the user?
I'm not sure anymore, maybe a workaround for me was: -o lock_method=fcntl Using fcntl instead of dotlock for that command... Or I made sure to have write access to the mail folder of the user... Or both.... I don't remember anymore.
Maybe someone can explain why dotlock is not supported in that code path.
Michael
-- Mark Costlow | Southwest Cyberport | Fax: +1-505-232-7975 cheeks@swcp.com | Web: www.swcp.com | Voice: +1-505-232-7992
Mail Minder - Intelligent Push Notifications for Email on the iPhone http://mailminderapp.com/download or in the App Store
participants (3)
-
aki.tuomi@dovecot.fi
-
Mark Costlow
-
Michael Kliewe