I tried the "sleep" approach as well. But then I thought that it was not
viable.
I am setting a relatively high number of mailing list that will receive
asynchronous "subscribe" requests via web and/or shell API.
It would be simply not possible to prevent bug this from happening as
the chance of two "subscribe" being processsed almost simultaneously are
not that small...
I also vote for some kind of timing/lock issue.
Max
Barry Finkel wrote:
Max Lanfranconi <[EMAIL PROTECTED]> wrote:
Mailman 2.1.11
Python 2.4.4
OS Solaris 2.11
Hi,
I have been able to reproduce this bug consistently by running the
replicate_bug script:
replicate _bug is the following:
#!/bin/sh
/usr/local/mailman/bin/rmlist testlist1
/usr/local/mailman/bin/rmlist testlist2
/usr/local/mailman/bin/rmlist testlist3
/usr/local/mailman/bin/rmlist testlist4
/usr/local/mailman/bin/rmlist testlist5
/usr/local/mailman/bin/rmlist testlist6
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist1
[EMAIL PROTECTED] testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist2
[EMAIL PROTECTED] testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist3
[EMAIL PROTECTED] testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist4
[EMAIL PROTECTED] testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist5
[EMAIL PROTECTED] testpwd
/usr/local/mailman/bin/newlist -q -e url.domain.com testlist6
[EMAIL PROTECTED] testpwd
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist1
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist2
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist3
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist4
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist5
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist6
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist1
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist2
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist3
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist4
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist5
echo "[EMAIL PROTECTED]" | /usr/local/mailman/bin/add_members -r - testlist6
After a short wait the following output is received:
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
[EMAIL PROTECTED] receives 6 confirmation emails, as [EMAIL PROTECTED] does. S
o far so
good.
At this point testlist1-6 each should contain 2 subscribers: [EMAIL PROTECTED]
and [EMAIL PROTECTED]
BUT
/usr/local/mailman/bin/list_members testlist1
/usr/local/mailman/bin/list_members testlist2
/usr/local/mailman/bin/list_members testlist3
/usr/local/mailman/bin/list_members testlist4
/usr/local/mailman/bin/list_members testlist5
/usr/local/mailman/bin/list_members testlist6
invariably produce some random combination in which one or more of the
subscribers are missing:
for example:
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
in which three instances of [EMAIL PROTECTED] are missing...
No Errors in any Mailman log.
Thanks in advance for your help. Please let me know if you need additional
details.
Regards,
Max
I ran the script (after some minor modifications) on
Ubuntu Dapper
Mailman 2.1.11 (self-built package)
Python 2.4.3 (#2, Oct 6 2006, 07:49:22)
and I get similar results:
Script started on Tue 05 Aug 2008 09:45:31 AM CDT
# set prompt="mailman11-test# "
mailman11-test# ./replicate_bug.exec
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist1
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist2
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist3
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist4
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist5
Remove the components of a mailing list with impunity - beware!
This removes (almost) all traces of a mailing list. By default, the lists
archives are not removed, which is very handy for retiring old lists.
Usage:
rmlist [-a] [-h] listname
Where:
--archives
-a
Remove the list's archives too, or if the list has already been
deleted, remove any residual archives.
--help
-h
Print this help message and exit.
No such list (or list already deleted): testlist6
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
mailman11-test# foreach list (1 2 3 4 5 6)
? echo $list
? list_members testlist$list
? end
1
[EMAIL PROTECTED]
[EMAIL PROTECTED]
2
[EMAIL PROTECTED]
[EMAIL PROTECTED]
3
[EMAIL PROTECTED]
[EMAIL PROTECTED]
4
[EMAIL PROTECTED]
[EMAIL PROTECTED]
5
[EMAIL PROTECTED]
6
[EMAIL PROTECTED]
mailman11-test# =======================================================
mailman11-test# ./replicate_bug.exec
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
mailman11-test# foreach list (1 2 3 4 5 6)
? echo $list
? list_members testlist$list
? end
1
[EMAIL PROTECTED]
[EMAIL PROTECTED]
2
[EMAIL PROTECTED]
[EMAIL PROTECTED]
3
[EMAIL PROTECTED]
4
[EMAIL PROTECTED]
5
[EMAIL PROTECTED]
6
[EMAIL PROTECTED]
mailman11-test# =======================================================
mailman11-test# ./replicate_bug.exec
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Not removing archives. Reinvoke with -a to remove them.
Removing list info
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
Subscribed: [EMAIL PROTECTED]
mailman11-test# foreach list (1 2 3 4 5 6)
? echo $list
? list_members testlist$list
? end
1
[EMAIL PROTECTED]
2
[EMAIL PROTECTED]
[EMAIL PROTECTED]
3
[EMAIL PROTECTED]
4
[EMAIL PROTECTED]
5
[EMAIL PROTECTED]
6
[EMAIL PROTECTED]
mailman11-test# exit
Script done on Tue 05 Aug 2008 09:50:48 AM CDT
I then added
sleep 5
after each "add_members" line, and the output looked fine.
I changed the sleep interval from 5 down to 1 in successive
runs, and each output looks fine; each list has the proper two
subscribers. Is there a timing issue here?
----------------------------------------------------------------------
Barry S. Finkel
Computing and Information Systems Division
Argonne National Laboratory Phone: +1 (630) 252-7277
9700 South Cass Avenue Facsimile:+1 (630) 252-4601
Building 222, Room D209 Internet: [EMAIL PROTECTED]
Argonne, IL 60439-4828 IBMMAIL: I1004994
------------------------------------------------------
Mailman-Users mailing list
[EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe:
http://mail.python.org/mailman/options/mailman-users/max.lanfranconi%40sun.com
Security Policy: http://wiki.list.org/x/QIA9
_______________________________________________
Mailman-Developers mailing list
[email protected]
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives:
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe:
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
Security Policy: http://wiki.list.org/x/QIA9