I'm afraid I can't give steps to reproduce this, but if someone's come across something like this, it might help me figure out what's going on.
I run imapfilter/offlineimap to fetch mail from a gmail to a local maildir store, which I then access with alpine via dovecot (1.2.15). Here's the output of dovecot -n:
# 1.2.15: /etc/dovecot/dovecot.conf # OS: Linux 2.6.26-2-686 i686 Debian squeeze/sid ext3 log_path: /var/log/dovecot.log info_log_path: /var/log/dovecot-info.log log_timestamp: %Y-%m-%d %H:%M:%S login_dir: /var/run/dovecot/login login_executable: /usr/lib/dovecot/imap-login mail_privileged_group: mail mail_location: maildir:/data/1/mail:LAYOUT=fs mbox_write_locks: fcntl dotlock mail_plugins: fts fts_squat auth default: passdb: driver: pam userdb: driver: passwd plugin: fts: squat
Just recently, I went through a bunch of old unread messages, marking them as read (in alpine). When I selected all unseen messages in pine (;sn), 18 showed up. But the count was higher within Gmail even after an expunge and offlineimap sync. So I selected all seen messages (;s!n) and marked them all as seen (a*!n). This didn't take long (for a 30k message folder) but surprisingly enough came back with the notice that 15 messages were marked as seen, and sure enough, at the next offlineimap sync, flags were updated on 15 messages.
So I didn't touch anything in gmail, everything went to the maildir through dovecot via alpine, and then back to gmail via offlineimap. Yet the select command obviously did not return all the matching messages. Anyone know what's going on?
Thanks, Janos