[Mailman-Users] Urgent newbie help - "Hit a bug" page
John Fleming
john at wa9als.com
Sat Mar 3 19:32:33 CET 2007
----- Original Message -----
From: "Mark Sapiro" <msapiro at value.net>
> Try the following:
> and add the line ' print n' so it becomes
>
> mlists = []
> longest = 0
> for n in names:
> print n
> mlist = MailList.MailList(n, lock=0)
> if advertised and not mlist.advertised:
> continue
> if vhost and mm_cfg.VIRTUAL_HOST_OVERVIEW and \
> vhost.find(mlist.web_page_url) == -1 and \
> mlist.web_page_url.find(vhost) == -1:
> continue
> mlists.append(mlist)
> longest = max(len(mlist.real_name), longest)
>
>
> Make sure that 'print' is indented exactly 8 spaces. Then run
> bin/my_list_lists.
>
> This should print list names one by one until it throws the exception
> and prints the traceback. The last name printed has a problem.
> Temporarily move this list aside
>
> mv /var/lib/mailman/thislist /somewhere/outside/mailman/thislist
>
> and then run bin/my_list_lists again to see if there are any problems.
> If not, you've identified the one problem list. There is something
> wrong with this list's config.pck. There is something mysterious if
> various software says this list doesn't have an 'advertised' or
> 'real_name' attribute, yet bin/dumpdb says it does.
>
> OTOH, maybe bin/my_list_lists fails on the first list and then when you
> move that list aside, it fails on the next one and so on. This would
> incriminate the software somehow and not a list.
BINGO! The results listed several lists without error, and then there was
the attribute error for real_name. The preceeding list was the mailman
list! So with appropriate backups, I renamed the mailman list's
config.pck.last file to config.pck and ran mylist_lists again, and it ran
without error, listing all of my lists! And guess what, the list overview
web page works as expected now!
Luke:/var/lib/mailman/bin# ./mylist_lists
<listname>
<listname>
<listname>
<listname>
mailman
Traceback (most recent call last):
File "./mylist_lists", line 123, in ?
main()
File "./mylist_lists", line 103, in main
longest = max(len(mlist.real_name), longest)
File "/var/lib/mailman/Mailman/MailList.py", line 144, in __getattr__
raise AttributeError, name
AttributeError: real_name
Luke:/var/lib/mailman/bin#
Do you agree that there was something VERY subtle about what was wrong with
it? Here's a snippet from the original config.pck:
'preferred_language': 'en',
'private_roster': 1,
'real_name': 'Mailman',
'reject_these_nonmembers': [],
'reply_goes_to_list': 0,
The real_name -looks- OK to a text editor, no?
Here's how it looks now:
'preferred_language': 'en',
'private_roster': 1,
'real_name': 'Mailman',
'reject_these_nonmembers': [],
'reply_goes_to_list': 0,
Running diff adds to the confusion, and it's getting difficult to explain.
If I diff the present (working) config.pck (the renamed config.pck.last
file) and config-orig.pck (the problem file), there is NO DIFFERENCE.
However, if I diff config-orig.pck (problem file) and config.pck.last.orig
(the original pck.last file), there IS a difference!! So it seems that
simply renaming the "same" (according to diff) file fixed the problem?!
Some very subtle binary difference not detectable in the text output from
dumpdb??
Luke:/var/lib/mailman/lists/mailman# diff config.pck config-orig.pck
Luke:/var/lib/mailman/lists/mailman#
Luke:/var/lib/mailman/lists/mailman# diff config-orig.pck
config.pck.last.orig
Binary files config-orig.pck and config.pck.last.orig differ
==============================================
A special THANK YOU to Mark Shapiro for his patient and detailed help on
this problem. Hopefully something in this thread has helped someone else
now or in the future! - John
==============================================
More information about the Mailman-Users
mailing list