Seth LaForge wrote:
And before somebody points out that I should upgrade to 1.2.12 and do a
protocol dump, I just want to see if this is a known problem first. I'll
do more investigation if not...
Well, instead I decided to do the protocol dump. Turns out in
Thunderbird to get a decent dump you have to limit it to one connection.
I've elided the boring bits. Quick narration:
I start Thunderbird, and it opens my INBOX and checks for new messages.
I switch to the ".Spam!" folder, which has ~1700 message, of which
~1200 are unread. I select all of the unread messages, and mark them as
read. (In the IMAP logs, a "uid store" command is issued, and it's
echoed back that all messages are now \Seen.) I then navigate to the
".Spam?" folder, which is empty. I navigate back to ".Spam!",
Thunderbird fetches message status, and lots of messages come back as
unseen.
It appears to me that the Seen status is not being properly stored to
disk. (This gets stored by renaming files, right?) Are there any
changes in 1.2.12 that could affect this?
Next stop - ktrace?
Seth
* OK Welcome to Binc IMAP Copyright (C) 2002-2004 Andreas Aardal Hanssen at
2005-04-06 04:25:19 PDT
1 capability
* CAPABILITY IMAP4rev1 STARTTLS AUTH=LOGIN AUTH=PLAIN
1 OK CAPABILITY completed
2 authenticate plain
+
************************
2 OK AUTHENTICATE completed
3 lsub "" "*"
* LSUB (\Unmarked) "/" ".Spam!"
* LSUB (\Unmarked) "/" ".Spam?"
* LSUB (\Unmarked) "/" ".Train Ham"
* LSUB (\Unmarked) "/" ".Train Spam"
* LSUB (\Unmarked) "/" "Airplanes"
* LSUB (\Unmarked) "/" "Bugs"
...
3 OK LSUB completed
4 list "" "INBOX"
* LIST (\Unmarked) "/" "INBOX"
4 OK LIST completed
5 select "INBOX"
* 84 EXISTS
* 0 RECENT
* OK [UNSEEN 61] Message 61 is first unseen
* OK [UIDVALIDITY 1086160230]
* OK [UIDNEXT 3374] 3374 is the next UID
* FLAGS (\Answered \Flagged \Deleted \Recent \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft)] Limited
5 OK [READ-WRITE] SELECT completed
6 UID fetch 1:* (FLAGS)
* 1 FETCH (FLAGS (\Seen) UID 3095)
* 2 FETCH (FLAGS (\Seen) UID 3100)
* 3 FETCH (FLAGS (\Seen) UID 3101)
...
6 OK FETCH completed
7 STATUS ".Spam?" (UIDNEXT MESSAGES UNSEEN RECENT)
* STATUS ".Spam?" (UIDNEXT 1 MESSAGES 0 UNSEEN 0 RECENT 0)
7 OK STATUS completed
...
26 select ".Spam!"
* 1680 EXISTS
* 1 RECENT
* OK [UNSEEN 87] Message 87 is first unseen
* OK [UIDVALIDITY 1111992395]
* OK [UIDNEXT 1744] 1744 is the next UID
* FLAGS (\Answered \Flagged \Deleted \Recent \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft)] Limited
26 OK [READ-WRITE] SELECT completed
27 UID fetch 1:* (FLAGS)
* 1 FETCH (FLAGS (\Seen) UID 12)
* 2 FETCH (FLAGS (\Seen) UID 37)
* 3 FETCH (FLAGS (\Seen) UID 66)
...
* 1678 FETCH (FLAGS () UID 1741)
* 1679 FETCH (FLAGS () UID 1742)
* 1680 FETCH (FLAGS (\Recent) UID 1743)
27 OK FETCH completed
28 UID fetch 1743 (UID RFC822.SIZE FLAGS BODY.PEEK[HEADER.FIELDS (From To Cc
Subject Date Message-ID Priority X-Priority References Newsgroups In-Reply-To
Content-Type)])
* 1680 FETCH (UID 1743 RFC822.SIZE 27386 FLAGS (\Recent) BODY[HEADER.FIELDS
(From To Cc Subject Date Message-ID Priority X-Priority References Newsgroups
In-Reply-To Content-Type)] {270}
...
28 OK FETCH completed
29 uid store
150:151,153:162,164,166,177:180,182,184:185,187:188,190:192,194,196:197,200,202,204,206:208,210:214,216:220,222,224:225,227:228,232,364:507,564,566,571,575,578,581,583:611,613:645,647:650,654,656:657,659:668,670,672,674:702,704:718,720:729,731,738:741,743,745:746,748:749,751:753,755,757:758,761,763,765,767:769,771:775,777:781,783,785:786,788:789,793,796:797,799:801,803:807,809:811,813:819,822,824:1254,1257:1631,1637:1743
+Flags (\Seen)
* 87 FETCH (FLAGS (\Seen) UID 150)
* 88 FETCH (FLAGS (\Seen) UID 151)
* 90 FETCH (FLAGS (\Seen) UID 153)
...
* 1678 FETCH (FLAGS (\Seen) UID 1741)
* 1679 FETCH (FLAGS (\Seen) UID 1742)
* 1680 FETCH (FLAGS (\Seen \Recent) UID 1743)
29 OK STORE completed
30 select ".Spam?"
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1112778903]
* OK [UIDNEXT 1] 1 is the next UID
* FLAGS (\Answered \Flagged \Deleted \Recent \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft)] Limited
30 OK [READ-WRITE] SELECT completed
31 select ".Spam!"
* 1680 EXISTS
* 0 RECENT
* OK [UNSEEN 87] Message 87 is first unseen
* OK [UIDVALIDITY 1111992395]
* OK [UIDNEXT 1744] 1744 is the next UID
* FLAGS (\Answered \Flagged \Deleted \Recent \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft)] Limited
31 OK [READ-WRITE] SELECT completed
32 UID fetch 1:* (FLAGS)
* 1 FETCH (FLAGS (\Seen) UID 12)
* 2 FETCH (FLAGS (\Seen) UID 37)
* 3 FETCH (FLAGS (\Seen) UID 66)
...
* 1678 FETCH (FLAGS () UID 1741)
* 1679 FETCH (FLAGS () UID 1742)
* 1680 FETCH (FLAGS () UID 1743)
32 OK FETCH completed
33 close
34 logout