<<< Date Index >>>     <<< Thread Index >>>

Re: "N" as new in mailboxes view ( yet again)



On Tue, Aug 15, 2006 at 08:54:43PM +0400, Boris Sobolev wrote:
> Hi List, 
> 
> I aplollogising for posing this question again, however it didn't
> have any replies.  So, in a nailboxes view, I have any other folder
> marked "N" except for this list.  What casuing this behavior?

It's most likely because, particularly with mbox mail folders, Mutt's
new mail detection code leaves a lot to be desired.  By default, Mutt
compares the atime of an mbox folder to the mtime of the folder to
determine if the file has been modified (mtime) after the last time it
was accessed (atime).  It uses this method because it is very fast;
unfortunately it is also extremely unreliable.

The only correct way to do this for mbox is to parse the whole
mailbox, and check the status flags of every message.  Thusfar the
Mutt developers have balked at doing this, citing performance concerns
(and maybe code complexity, I'm not sure) as the reason.  But that's
kind of a lame copout, IMO, because this is the only way to do it and
get it 100% correct.  In truth it's not THAT slow... other mailers do
this right without having to wait until hell freezes over to read your
mail.  Mutt also does not distinguish between Old messages (i.e. not
new but unread) and either New or Read messages, depending on your
configuration settings and choice of mail folder format, for much the
same reasons.  Which sucks, because even the decrepit Berkeley mail
can do these things correctly...

For example, in my mutt-dev folder I currently have 2 new messages:

$ mail -f IMAP/folders/mutt-dev
Mail version 8.1 6/6/93.  Type ? for help.
"IMAP/folders/mutt-dev": 104 messages 2 new
  101 pdmef@xxxxxxx         Wed Aug 16 14:47  55/2551  "Re: feature freeze? ("
>N102 barsnick@xxxxxxx      Wed Aug 16 15:55  93/4530  "Re: feature freeze?"
  103 mutt-dev@veggiechine  Wed Aug 16 16:44  71/2946  "stuff_all_quoted"
 N104 invalid@xxxxxxxxxxxx  Wed Aug 16 17:54 103/4387  "Re: stuff_all_quoted"
& q
"IMAP/folders/mutt-dev" complete

After quitting, mail shows me that I have 2 "Unread" messages,
because I did not read them, but I did see them in my mailbox:

$ mail -f IMAP/folders/mutt-dev 
Mail version 8.1 6/6/93.  Type ? for help.
"IMAP/folders/mutt-dev": 104 messages 2 unread
  101 pdmef@xxxxxxx         Wed Aug 16 14:47  55/2551  "Re: feature freeze? ("
>U102 barsnick@xxxxxxx      Wed Aug 16 15:55  94/4540  "Re: feature freeze?"
  103 mutt-dev@veggiechine  Wed Aug 16 16:44  71/2946  "stuff_all_quoted"
 U104 invalid@xxxxxxxxxxxx  Wed Aug 16 17:54 104/4397  "Re: stuff_all_quoted"


Note that my mail server is a relatively old machine, and yet parsing
this folder (with greater than 100 messages) required no appreciable
delay.  Furthermore, with proper header caching (which Mutt now has),
even on really huge mailboxes it shouldn't take that long.

Worst of all, after doing this little exercise, Mutt now does not
recognize that I have mail in this folder that I have not read,
because it only checks access times.  This is really horrendous.

Depending on your operating system, environment, and your system
administrator, you may be able to fix this by configuring and
compiling mutt from the source code with one or both of these
configure options:

  --enable-nfs-fix        Work around an NFS with broken attributes caching
  --enable-buffy-size     Use file size attribute instead of access time

i.e.:

  $ ./configure --enable-nfs-fix --enable-buffy-size; make

But, depending on your environment, and how you use mail, it also may
not entirely work for you.  Another possible solution is to switch to
maildir, which behaves quite differently (surprise!) in Mutt as
compared to mbox.  So not only is mutt's new mail handling broken, but
it's broken in different ways depending on what format in which you
choose to keep your mail.

Maildir avoids locking "problems" inherent to mbox, and some
operations are faster with maildir folders, but also some common
operations (like opening a mailbox which has not yet been read) are
also much, much slower.  It also eats up inodes and tends to waste
disk space like crazy, which is a major bummer if you keep a lot of
mail lying around and use a large block size on your filesystems.

So, in short, this problem is a real downer, but thusfar Mutt
developers have been unwilling to work on it, and IIRC even actively
opposed to fixing it.  Does Mutt suck less?  In most ways, yes...  But
in this case, even Berkeley mail (written something like 30 years ago)
is better.  :(

-- 
Derek D. Martin    http://www.pizzashack.org/   GPG Key ID: 0xDFBEAD02
-=-=-=-=-
This message is posted from an invalid address.  Replying to it will result in
undeliverable mail.  Sorry for the inconvenience.  Thank the spammers.

Attachment: pgpz89Tah73sV.pgp
Description: PGP signature