[Dovecot] Bug? Expunging Symlinked Maildir w/ Lazy_expunge Enabled

Rich at Whidbey Telecom richs at whidbey.net
Tue Sep 11 00:05:53 EEST 2007


Timo Sirainen wrote:
> On Wed, 2007-08-29 at 09:04 -0700, Rich at Whidbey Telecom wrote:
>> Hi all,
>>
>> Using Dovecot 1.0.3 on RedHat Enterprise 5 (kernel 2.6.18-8.1.6.el5PAE), 
>> and NFS storage, we symlinked a Maildir folder:
>>
>> /mailstore/user/Maildir/.Junk -> /junkstore/user/Junkmaildir
>>
>> Everything works fine, until we try to expunge, which produces:
> 
> You really mean EXPUNGE, not DELETE command?
> 
>>    A04 NO BUG: Unknown internal error
> 
> I couldn't reproduce this myself. I can't also think of why it would
> work any differently with symlinks. Does it happen if you don't use acl
> or quota plugins?
> 

OK, we can still reproduce this error even without quota's or ACL's, but 
we were able to narrow it down.

EXPUNGE fails only with "lazy_expunge" enabled, and you have symlinked a 
folder to a different file system:

   ln -s /mailstore/user/Maildir/.Junk -> /junkstore/user/JunkMail

When we symlink to the same filesystem, it works:

   ln -s /mailstore/user/Maildir/.Junk -> /mailstore/user/JunkMail

The /mailstore and /junkstore are separate NFS-mounted filesystems.

Here is the transaction log when it fails, using Dovecot 1.0.3:
==============================================
* OK System ready.
a
a BAD Error in IMAP command received by server.
a001 LOGIN testuser testpw
a001 OK Logged in.
a002 SELECT Junk
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk $Junk)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $NotJunk 
$Junk \*)] Flags permitted.
* 5 EXISTS
* 1 RECENT
* OK [UNSEEN 1] First unseen.
* OK [UIDVALIDITY 1186687991] UIDs valid
* OK [UIDNEXT 3777] Predicted next UID
a002 OK [READ-WRITE] Select completed.
a003 FETCH 1:* (UID)
* 1 FETCH (UID 3772)
* 2 FETCH (UID 3773)
* 3 FETCH (UID 3774)
* 4 FETCH (UID 3775)
* 5 FETCH (UID 3776)
a003 OK Fetch completed.
a004 STORE 1 +flags \Deleted
* 1 FETCH (FLAGS (\Deleted $NotJunk))
a004 OK Store completed.
a005 EXPUNGE
a005 NO BUG: Unknown internal error
a006 LOGOUT
* BYE Logging out
a006 OK Logout completed.
==============================================

We appreciate your help! :)

Rich


More information about the dovecot mailing list