cannot use bin/newlist to create a new list from the command line

Bug #588028 reported by SVAKSHA
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Systers-mailman
Confirmed
Undecided
Jennifer Redman

Bug Description

After pulling and installing the systers stable branch, I created a new list from the command line with bin/newlist but if you try to subscribe to a list created via the command line it throws an error (logs attached).

http://dev.systers.org/mailman/listinfo

[Note: if you login via the admin interface you can see the email id is stored in the members DB. But it does not accept the Name of the subscriber, nor does it email them a subscription confirmation message].

From the error logs (see below) we can see that /usr/local/mailman/Mailman/Cgi/subscribe.py has a patch that has something to do with a fullname_required list attribute and the list(s) don't have this attribute defined. Maybe this terminates access to read into the Database, which may be the cause of the Database to Mailman interface problem.

admin(32655): File "/usr/local/mailman/Mailman/MailList.py", line
149, in __getattr__
admin(32655): raise AttributeError, name
admin(32655): AttributeError: fullname_required

....and MailList.py imposes a specific name resolution order::

def __getattr__(self, name):
         # Because we're using delegation, we want to be sure that attribute
         # access to a delegated member function gets passed to the
         # sub-objects. This of course imposes a specific name resolution
         # order.
         try:
             return getattr(self._memberadaptor, name)
         except AttributeError:
             for guicomponent in self._gui:
                 try:
                     return getattr(guicomponent, name)
                 except AttributeError:
                     pass
             else:
                 raise AttributeError, name

Currently, lists can be *only* created using the CGI, which is the list "testing", http://dev.systers.org/mailman/listinfo/testing.
To create a list via the command line, the Mailman developers suggested to either use bin/withlist to define a fullname_required attribute for these lists or replace the patched module(s) with unpatched ones.

ERROR LOGS
============
Error message when you try to subscribe: Bug in Mailman version 2.1.10
We're sorry, we hit a bug! Please inform the webmaster for this site of this problem. Printing of traceback and other system information has been explicitly inhibited, but the webmaster can find this information in the Mailman error logs.
</error message>

The /usr/local/mailman/logs/error output is :
svaksha@dev:/usr/local/mailman/logs$ cat error
May 20 21:33:19 2010 (20367) No such list "systers-admin":
May 25 21:23:57 2010 mailmanctl(22168): Site list is missing: dev.systers.org
May 25 21:23:57 2010 (22168) Site list is missing: dev.systers.org
May 25 21:25:09 2010 mailmanctl(25721): Site list is missing: dev.systers.org
May 25 21:25:09 2010 (25721) Site list is missing: dev.systers.org
May 29 19:53:55 2010 mailmanctl(24505): Site list is missing: systers-admin
May 29 19:53:55 2010 (24505) Site list is missing: systers-admin
May 29 19:57:17 2010 mailmanctl(30218): Site list is missing: systers-admin
May 29 19:57:17 2010 (30218) Site list is missing: systers-admin
May 29 20:13:16 2010 admin(28655): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
admin(28655): [----- Mailman Version: 2.1.10 -----]
admin(28655): [----- Traceback ------]
admin(28655): Traceback (most recent call last):
admin(28655): File "/usr/local/mailman/scripts/driver", line 101, in run_main
admin(28655): main()
admin(28655): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 95, in main
admin(28655): process_form(mlist, doc, cgidata, language)
admin(28655): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 124, in process_form
admin(28655): if mlist.fullname_required:
admin(28655): File "/usr/local/mailman/Mailman/MailList.py", line
149, in __getattr__
admin(28655): raise AttributeError, name
admin(28655): AttributeError: fullname_required
admin(28655): [----- Python Information -----]
admin(28655): sys.version = 2.5.2 (r252:60911, Jan 20 2010, 21:48:48)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]
admin(28655): sys.executable = /usr/bin/python
admin(28655): sys.prefix = /usr
admin(28655): sys.exec_prefix = /usr
admin(28655): sys.path = /usr
admin(28655): sys.platform = linux2
admin(28655): [----- Environment Variables -----]
admin(28655): HTTP_REFERER:
http://dev.systers.org/mailman/listinfo/systers-admin
admin(28655): SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu)
admin(28655): SCRIPT_NAME: /mailman/subscribe
admin(28655): SERVER_SIGNATURE: <address>Apache/2.2.8 (Ubuntu) Server
at dev.systers.org Port 80</address>
admin(28655):
admin(28655): REQUEST_METHOD: POST
admin(28655): HTTP_KEEP_ALIVE: 300
admin(28655): SERVER_PROTOCOL: HTTP/1.1
admin(28655): QUERY_STRING:
admin(28655): CONTENT_LENGTH: 111
admin(28655): HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7
admin(28655): HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux x86_64;
en-US; rv:1.9.0.19) Gecko/2010040200 Ubuntu/8.04 (hardy)
Firefox/3.0.19
admin(28655): HTTP_CONNECTION: keep-alive
admin(28655): SERVER_NAME: dev.systers.org
admin(28655): REMOTE_ADDR: 95.XX.XX.XX
admin(28655): PATH_TRANSLATED: /var/www/systers-admin
admin(28655): SERVER_PORT: 80
admin(28655): SERVER_ADDR: 69.XX.XX.XX
admin(28655): DOCUMENT_ROOT: /var/www/
admin(28655): PYTHONPATH: /usr/local/mailman
admin(28655): SCRIPT_FILENAME: /usr/local/mailman/cgi-bin/subscribe
admin(28655): SERVER_ADMIN: webmaster@localhost
admin(28655): HTTP_HOST: dev.systers.org
admin(28655): REQUEST_URI: /mailman/subscribe/systers-admin
admin(28655): HTTP_ACCEPT:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
admin(28655): GATEWAY_INTERFACE: CGI/1.1
admin(28655): REMOTE_PORT: 38090
admin(28655): HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.5
admin(28655): CONTENT_TYPE: application/x-www-form-urlencoded
admin(28655): HTTP_ACCEPT_ENCODING: gzip,deflate
admin(28655): PATH_INFO: /systers-admin
May 29 20:15:19 2010 admin(32655): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
admin(32655): [----- Mailman Version: 2.1.10 -----]
admin(32655): [----- Traceback ------]
admin(32655): Traceback (most recent call last):
admin(32655): File "/usr/local/mailman/scripts/driver", line 101, in run_main
admin(32655): main()
admin(32655): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 95, in main
admin(32655): process_form(mlist, doc, cgidata, language)
admin(32655): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 124, in process_form
admin(32655): if mlist.fullname_required:
admin(32655): File "/usr/local/mailman/Mailman/MailList.py", line
149, in __getattr__
admin(32655): raise AttributeError, name
admin(32655): AttributeError: fullname_required
admin(32655): [----- Python Information -----]
admin(32655): sys.version = 2.5.2 (r252:60911, Jan 20 2010, 21:48:48)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]
admin(32655): sys.executable = /usr/bin/python
admin(32655): sys.prefix = /usr
admin(32655): sys.exec_prefix = /usr
admin(32655): sys.path = /usr
admin(32655): sys.platform = linux2
admin(32655): [----- Environment Variables -----]
admin(32655): HTTP_REFERER:
http://dev.systers.org/mailman/listinfo/systers-admin
admin(32655): SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu)
admin(32655): SCRIPT_NAME: /mailman/subscribe
admin(32655): SERVER_SIGNATURE: <address>Apache/2.2.8 (Ubuntu) Server
at dev.systers.org Port 80</address>
admin(32655):
admin(32655): REQUEST_METHOD: POST
admin(32655): HTTP_KEEP_ALIVE: 300
admin(32655): SERVER_PROTOCOL: HTTP/1.1
admin(32655): QUERY_STRING:
admin(32655): CONTENT_LENGTH: 111
admin(32655): HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7
admin(32655): HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux x86_64;
en-US; rv:1.9.0.19) Gecko/2010040200 Ubuntu/8.04 (hardy)
Firefox/3.0.19
admin(32655): HTTP_CONNECTION: keep-alive
admin(32655): SERVER_NAME: dev.systers.org
admin(32655): REMOTE_ADDR: 95.XX.XX.XX
admin(32655): PATH_TRANSLATED: /var/www/systers-admin
admin(32655): SERVER_PORT: 80
admin(32655): SERVER_ADDR: 69.XX.XX.XX
admin(32655): DOCUMENT_ROOT: /var/www/
admin(32655): PYTHONPATH: /usr/local/mailman
admin(32655): SCRIPT_FILENAME: /usr/local/mailman/cgi-bin/subscribe
admin(32655): SERVER_ADMIN: webmaster@localhost
admin(32655): HTTP_HOST: dev.systers.org
admin(32655): REQUEST_URI: /mailman/subscribe/systers-admin
admin(32655): HTTP_ACCEPT:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
admin(32655): GATEWAY_INTERFACE: CGI/1.1
admin(32655): REMOTE_PORT: 38091
admin(32655): HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.5
admin(32655): CONTENT_TYPE: application/x-www-form-urlencoded
admin(32655): HTTP_ACCEPT_ENCODING: gzip,deflate
admin(32655): PATH_INFO: /systers-admin
May 29 20:17:15 2010 admin(3239): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
admin(3239): [----- Mailman Version: 2.1.10 -----]
admin(3239): [----- Traceback ------]
admin(3239): Traceback (most recent call last):
admin(3239): File "/usr/local/mailman/scripts/driver", line 101, in run_main
admin(3239): main()
admin(3239): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 95, in main
admin(3239): process_form(mlist, doc, cgidata, language)
admin(3239): File "/usr/local/mailman/Mailman/Cgi/subscribe.py",
line 124, in process_form
admin(3239): if mlist.fullname_required:
admin(3239): File "/usr/local/mailman/Mailman/MailList.py", line
149, in __getattr__
admin(3239): raise AttributeError, name
admin(3239): AttributeError: fullname_required
admin(3239): [----- Python Information -----]
admin(3239): sys.version = 2.5.2 (r252:60911, Jan 20 2010, 21:48:48)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]
admin(3239): sys.executable = /usr/bin/python
admin(3239): sys.prefix = /usr
admin(3239): sys.exec_prefix = /usr
admin(3239): sys.path = /usr
admin(3239): sys.platform = linux2
admin(3239): [----- Environment Variables -----]
admin(3239): HTTP_REFERER:
http://dev.systers.org/mailman/listinfo/systers-admin
admin(3239): SERVER_SOFTWARE: Apache/2.2.8 (Ubuntu)
admin(3239): SCRIPT_NAME: /mailman/subscribe
admin(3239): SERVER_SIGNATURE: <address>Apache/2.2.8 (Ubuntu) Server
at dev.systers.org Port 80</address>
admin(3239):
admin(3239): REQUEST_METHOD: POST
admin(3239): HTTP_KEEP_ALIVE: 300
admin(3239): SERVER_PROTOCOL: HTTP/1.1
admin(3239): QUERY_STRING:
admin(3239): CONTENT_LENGTH: 126
admin(3239): HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7
admin(3239): HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux x86_64;
en-US; rv:1.9.0.19) Gecko/2010040200 Ubuntu/8.04 (hardy)
Firefox/3.0.19
admin(3239): HTTP_CONNECTION: keep-alive
admin(3239): SERVER_NAME: dev.systers.org
admin(3239): REMOTE_ADDR: 95.XX.XX.XX
admin(3239): PATH_TRANSLATED: /var/www/systers-admin
admin(3239): SERVER_PORT: 80
admin(3239): SERVER_ADDR: 69.XX.XX.XX
admin(3239): DOCUMENT_ROOT: /var/www/
admin(3239): PYTHONPATH: /usr/local/mailman
admin(3239): SCRIPT_FILENAME: /usr/local/mailman/cgi-bin/subscribe
admin(3239): SERVER_ADMIN: webmaster@localhost
admin(3239): HTTP_HOST: dev.systers.org
admin(3239): REQUEST_URI: /mailman/subscribe/systers-admin
admin(3239): HTTP_ACCEPT:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
admin(3239): GATEWAY_INTERFACE: CGI/1.1
admin(3239): REMOTE_PORT: 38092
admin(3239): HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.5
admin(3239): CONTENT_TYPE: application/x-www-form-urlencoded
admin(3239): HTTP_ACCEPT_ENCODING: gzip,deflate
admin(3239): PATH_INFO: /systers-admin

</error log>

SVAKSHA (svaksha)
Changed in systers:
assignee: nobody → Anna (anna-granudd)
description: updated
Revision history for this message
Anna SdG (anna-granudd) wrote :

I'm not quite sure why I'm assigned to this bug as I'm working with Mailman 3.0 for the new UI.

When we create a new list with the Systers' code a number of attributes are set that were not present in the original Mailman code. These include, among others, fullname required, dlist enabled and essay enabled.
The script to create a new list is from Mailman and probably hasn't been updated for a while (if at all) by us, hence the bug. I always used the UI to create and modify lists so I never thought of updating the script, in fact I never reflected there might even be one even though it of course makes sense to have one (for testing purposes etc.).

Revision history for this message
Anna SdG (anna-granudd) wrote :

To fix this particular script we could probably just check what attributes are set in the function process_request in Mailman/Cgi/create.py and make sure they are all set in the script as well, possibly to a default if it's just for testing purposes. However, there might be other scripts not working as well, I only ever used bin/rmlist which was finally fixed by Kanika earlier this year so I never checked the other scripts for possible bugs.

Revision history for this message
SVAKSHA (svaksha) wrote :

@Anna: Jen asked me to assign the bug to you and IIRC she said the code was part of the 2009 Gsoc. Is there some documentation for the code that was written last year? It would be very useful to understand the big picture while trying to package the stable release.Thanks.

SVAKSHA (svaksha)
Changed in systers:
assignee: Anna (anna-granudd) → Jennifer Redman (jenred)
SVAKSHA (svaksha)
Changed in systers:
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.