Difference between ". list * %" and ". list * *"

Craig Ringer craig at postnewspapers.com.au
Tue Apr 20 06:20:54 EDT 2004


On Fri, 2004-01-30 at 23:17, Ken Murchison wrote:
> Rob Mueller wrote:

> > Sure, but should a 'list' command ever return the same mailbox name multiple
> > times. It just seems wrong to me...
> 
> 
> Oh, I missed that.  I don't know why its doing that.  Rob, is this 
> another side effect of recent changes, or has this always been broken?

I'm seeing this on 2.1.16 as well. It only happens with one mailbox, and
the one that's listed twice is always listed with \Noselect the second
time around. For example:

. LSUB user.craig.lists.plug *   
* LSUB (\HasChildren) "." "user.craig.lists.plug"   
* LSUB () "." "user.craig.lists.plug.references"   
* LSUB () "." "user.craig.lists.plug-admin"   
. OK Completed (0.000 secs 4 calls)   

. LIST user.craig.lists.plug *   
* LIST (\HasNoChildren) "." "user.craig.lists.plug"   
* LIST (\HasNoChildren) "." "user.craig.lists.plug-admin"   
* LIST (\HasNoChildren) "." "user.craig.lists.plug.references"   
. OK Completed (0.010 secs 4 calls)   

. LSUB user.craig.lists.plug %   
* LSUB (\HasChildren) "." "user.craig.lists.plug"   
* LSUB () "." "user.craig.lists.plug-admin"   
. OK Completed (0.000 secs 4 calls)   

. LIST user.craig.lists.plug %   
* LIST (\HasNoChildren) "." "user.craig.lists.plug"   
* LIST (\HasNoChildren) "." "user.craig.lists.plug-admin"   
* LIST (\Noselect \HasChildren) "." "user.craig.lists.plug"   
. OK Completed (0.000 secs 4 calls)

Note that the duplicate mailbox and \Noselect flag are only ever printed
when LIST (not LSUB) is used, and only with the '%' wildcard. Colour me
confused.

Unfortunately, Evolution uses the latter method to list mailboxes (a
real example from a protocol trace (via ethereal):

A00008 LIST "" {13+}
INBOX.lists.%
* LIST (\HasNoChildren) "." "INBOX.lists.CACommittee"
* LIST (\HasNoChildren) "." "INBOX.lists.OGo"
* LIST (\HasNoChildren) "." "INBOX.lists.Python-URL"
* LIST (\HasNoChildren) "." "INBOX.lists.cadevel"
* LIST (\HasChildren) "." "INBOX.lists.cyrus"
* LIST (\HasNoChildren) "." "INBOX.lists.etherboot_users"
* LIST (\HasNoChildren) "." "INBOX.lists.evo-devel"
* LIST (\HasNoChildren) "." "INBOX.lists.evo-user"
* LIST (\HasNoChildren) "." "INBOX.lists.lias"
* LIST (\HasNoChildren) "." "INBOX.lists.linlap"
* LIST (\HasNoChildren) "." "INBOX.lists.linux-lvm"
* LIST (\HasNoChildren) "." "INBOX.lists.ltsp"
* LIST (\HasNoChildren) "." "INBOX.lists.netatalk-admins"
* LIST (\HasNoChildren) "." "INBOX.lists.netatalk-devel"
* LIST (\HasChildren) "." "INBOX.lists.old"
* LIST (\HasNoChildren) "." "INBOX.lists.pam"
* LIST (\HasNoChildren) "." "INBOX.lists.plug"
* LIST (\HasNoChildren) "." "INBOX.lists.plug-admin"
* LIST (\Noselect \HasChildren) "." "INBOX.lists.plug"
* LIST (\HasChildren) "." "INBOX.lists.progress"
* LIST (\HasNoChildren) "." "INBOX.lists.rox"
* LIST (\HasNoChildren) "." "INBOX.lists.scribus"
* LIST (\HasChildren) "." "INBOX.lists.sysmsgs"
* LIST (\HasChildren) "." "INBOX.lists.waix"
* LIST (\HasNoChildren) "." "INBOX.lists.wamug"
* LIST (\HasNoChildren) "." "INBOX.lists.wine"
* LIST (\HasNoChildren) "." "INBOX.lists.wizard"
* LIST (\HasNoChildren) "." "INBOX.lists.xfree86"
* LIST (\HasNoChildren) "." "INBOX.lists.xouvert"
A00008 OK Completed (0.000 secs 37 calls)

(I don't understand the {13+} at all, though...).

Any thoughts? This did start happening after I had to kill the master
and remove the duplicate delivery database due to some DB corruption, so
perhaps this is a weird side-effect of that. It only seems to be
happening to that one mailbox right now, but it was happening with a few
others earlier in the day. Why did it stop? Couldn't possibly tell you.

I've tried reconstructing the mailbox in question, to no effect.

Any ideas would be much appreciated. Things that 'just start happening'
with the mail system make me nervous...

The original message on this thread also mentioned:

> >>>This is cyrus 2.2.3 with skiplist mailboxes db.
> >>>
> >>>Someone pointed this strange behaviour out to me...
> >>>
> >>>. list * *
> >>>* LIST (\HasChildren) "." "INBOX"
> >>>* LIST (\HasNoChildren) "." "INBOX.Folder1"
> >>>* LIST (\HasChildren) "." "INBOX.Folder2"
> >>>* LIST (\HasChildren) "." "INBOX.Folder2.SubFolder1"
> >>>
> >>>
> >>>. list * %
> >>>* LIST (\HasChildren) "." "INBOX"
> >>>* LIST (\HasNoChildren) "." "INBOX.Folder1"
> >>>* LIST (\Noselect \HasChildren) "." "INBOX"
> >>>* LIST (\HasChildren) "." "INBOX.Folder2"
> >>>* LIST (\Noselect \HasChildren) "." "INBOX"
> >>>* LIST (\Noselect \HasChildren) "." "INBOX.Folder2"
> >>>* LIST (\HasNoChildren) "." "INBOX.Folder2.SubFolder1"
> >>>
> >>>I think I see what's happening, but this doesn't seem the right response
> >>>to me...

---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list