-----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-----

Attachment: dv-tb-emptymgs.tar.bz2
Description: Dovecot Thunderbird empty message rawlog

Reply via email to