[Dovecot] Empty message headers (was Re: v1.1.6 released)

Steffen Kaiser skdovecot at smail.inf.fh-brs.de
Wed Dec 17 16:27:16 EET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, 21 Nov 2008, Timo Sirainen wrote:

> Could you enable rawlog and see what Dovecot sends to Thunderbird when
> this problem happens?

Well, hunting something totally different I'm hit with this very problem 
on a test server. Attached you'll find the rawlogs of a session performing 
a type 1) case (see below).

The INBOX is completely empty, Thunderbird (aka Icedove
1.5.0.13+1.5.0.15b.dfsg1+prepatch080614d-0etch1 from Debian Etch) has
selected Trash.

Then I perform (cross-device, "file" is unique through all cases):

1)
chown user file && mv file ~user/Maildir/new

"mv" tells me that it could not preserve the permissions etc. hence
the file was seen (and moved to cur) before mv was finished.

2)
chown user file && mv file ~user/Maildir/tmp/file && mv 
~user/Maildir/tmp/file  ~user/Maildir/new/file

(no error)

3)
As 2) but last mv replaced by: ln tmp/file new/file && rm tmp/file

4)
As 3) but use cur subdir as target

In the end, the mails have no stats in the overview window (no subject, 
date, sender, ...), but I can pull the body successfully. Changes of "new" 
vs. "read" and the "flag" are preserved. Once the message is read, the 
message size is up to date. Thunderbird itself does not reload the message 
info (or invalidates local cache), neither with Get Mail nor Compact 
Mailbox. My Tbird version does not have no "rebuilt index" option in the 
properties tabs or context menu.

However, this happens on the production server with Dovecot deliver as 
LDA.

> I guess it's possible that this is the one v1.0 bug that I didn't bother
> fixing because I thought it was a too invasive change. It didn't have
> anything to do with moving messages though, simply that there's a small
> race condition where imap may see a new message as non-existing for a
> (really) short time after deliver has delivered it.

For me personally I can live with this problem, as it seems that I'm the 
only victim of it here.

(I'm looking forward to v1.2's shared users mailboxes anyway.)

=== Below are the server confs:

./sbin/dovecot --build-options
Build options: ioloop=epoll notify=inotify ipv6 openssl
SQL drivers: postgresql
Passdb: checkpassword ldap pam passwd passwd-file shadow sql
Userdb: checkpassword ldap passwd prefetch passwd-file sql static

====

# 1.0.15: /usr/local/dovecot-1.0.15patch4mgtsv92epoll/etc/dovecot.conf
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot/dovecot.log
log_timestamp: %F %H:%M:%S 
protocols: imap imaps pop3 pop3s managesieve
listen(default): *
listen(imap): *
listen(pop3): *
listen(managesieve): *:2000
ssl_ca_file: /etc/ssl/certs/ca.crt
ssl_cert_file(default): /etc/ssl/certs/imap.pem
ssl_cert_file(imap): /etc/ssl/certs/imap.pem
ssl_cert_file(pop3): /etc/ssl/certs/pop3.pem
ssl_cert_file(managesieve): /etc/ssl/certs/imap.pem
ssl_key_file(default): /etc/ssl/private/imap.key
ssl_key_file(imap): /etc/ssl/private/imap.key
ssl_key_file(pop3): /etc/ssl/private/pop3.key
ssl_key_file(managesieve): /etc/ssl/private/imap.key
disable_plaintext_auth: no
verbose_ssl: yes
login_dir(default): /var/run/dovecot//login
login_dir(imap): /var/run/dovecot//login
login_dir(pop3): /var/run/dovecot//login
login_dir(managesieve): /var/run/dovecot/login
login_executable(default): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/imap-login
login_executable(imap): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/imap-login
login_executable(pop3): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/pop3-login
login_executable(managesieve): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/managesieve-login
login_log_format_elements: %p: user=<%u> method=%m rip=%r lip=%l %c
login_processes_count: 10
login_max_processes_count: 256
verbose_proctitle: yes
first_valid_uid: 10
mail_location(default): maildir:%h/Maildir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index
mail_location(imap): maildir:%h/Maildir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index
mail_location(pop3): maildir:%h/Maildir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index
mail_location(managesieve): maildir:%h/Maildir
mail_debug: yes
dotlock_use_excl: yes
maildir_copy_with_hardlinks: yes
maildir_copy_preserve_filename: yes
umask: 7
mail_executable(default): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/rawlog /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/imap
mail_executable(imap): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/rawlog /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/imap
mail_executable(pop3): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/pop3
mail_executable(managesieve): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/libexec/dovecot/managesieve
mail_plugins(default): quota imap_quota mail_log antispam
mail_plugins(imap): quota imap_quota mail_log antispam
mail_plugins(pop3): quota mail_log
mail_plugins(managesieve): 
mail_plugin_dir(default): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/lib/dovecot/imap
mail_plugin_dir(imap): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/lib/dovecot/pop3
mail_plugin_dir(managesieve): /usr/local/dovecot-1.0.15patch4mgtsv92epoll/lib/dovecot/managesieve
mail_log_prefix: %Us(%u) [%p]: 
mail_log_max_lines_per_sec: 0
pop3_uidl_format(default): 
pop3_uidl_format(imap): 
pop3_uidl_format(pop3): %08Xu%08Xv
pop3_uidl_format(managesieve): 
pop3_client_workarounds(default): 
pop3_client_workarounds(imap): 
pop3_client_workarounds(pop3): oe-ns-eoh
pop3_client_workarounds(managesieve): 
namespace:
   type: private
   separator: .
   inbox: yes
auth default:
   mechanisms: plain login
   cache_size: 10
   username_chars: [snip]
   verbose: yes
   debug: yes
   passdb:
     driver: passwd-file
     args: /etc/user.deny
     deny: yes
   passdb:
     driver: ldap
     args: /usr/local/dovecot-1.0.15patch4mgtsv92epoll/etc/dovecot-ldap.conf
   userdb:
     driver: ldap
     args: /usr/local/dovecot-1.0.15patch4mgtsv92epoll/etc/dovecot-ldap.conf
   userdb:
     driver: passwd
   socket:
     type: listen
     master:
       path: /var/run/dovecot/auth-master
       mode: 432
       group: mail
plugin:
   quota: fs
   antispam_trash: [snip]
   antispam_spam: [snip]
   antispam_mail_sendmail: /bin/false
   antispam_mail_sendmail_args: %u
   antispam_mail_tmpdir: /tmp/spamspool
   antispam_allow_append_to_spam: yes

Bye,

- -- 
Steffen Kaiser
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFJSQxGVJMDrex4hCIRApdJAKCZMB6djYr/KFJ3BQEw248th4fFnwCguuFi
p38CRb0OD+aIdvjy+zmq3o0=
=/i67
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dv-tb-emptymgs.tar.bz2
Type: application/octet-stream
Size: 1618 bytes
Desc: Dovecot Thunderbird empty message rawlog
Url : http://dovecot.org/pipermail/dovecot/attachments/20081217/249ad24f/attachment.obj 


More information about the dovecot mailing list