Bug 476569

Summary: Mailman TypeError
Product: [openSUSE] openSUSE 11.1 Reporter: Forgotten User Ow-XVyOGYm <forgotten_Ow-XVyOGYm>
Component: NetworkAssignee: Heiko Rommel <heiko.rommel>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: ag, erik, suse-beta
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 11.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User Ow-XVyOGYm 2009-02-17 18:36:35 UTC
User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.6) Gecko/2009011912 Firefox/3.0.6

I installed openSUSE 11.1 on a new system, and migrated Mailman from an old system over (e.g. rsync of /var/lib/mailman/archives and lists, editing mm_cfg.py).

It mostly works. However, when a user tries to add himself to one of the mailing lists via the web, the web serves up a page containing:

Bug in Mailman version 2.1.11

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. 

/var/lib/mailman/logs/error contains

Feb 17 10:31:09 2009 admin(31903): @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
admin(31903): [----- Mailman Version: 2.1.11 -----] 
admin(31903): [----- Traceback ------] 
admin(31903): Traceback (most recent call last):
admin(31903):   File "/usr/lib/mailman/scripts/driver", line 101, in run_main
admin(31903):     main()
admin(31903):   File "/usr/lib/mailman/Mailman/Cgi/subscribe.py", line 96, in ma
in
admin(31903):     process_form(mlist, doc, cgidata, language)
admin(31903):   File "/usr/lib/mailman/Mailman/Cgi/subscribe.py", line 176, in p
rocess_form
admin(31903):     mlist.AddMember(userdesc, remote)
admin(31903):   File "/usr/lib/mailman/Mailman/MailList.py", line 916, in AddMem
ber
admin(31903):     raise Errors.MMSubscribeNeedsConfirmation
admin(31903): TypeError: exceptions must be classes or instances, not str
admin(31903): [----- Python Information -----] 
admin(31903): sys.version     =   2.6 (r26:66714, Feb  3 2009, 20:49:49) 
[GCC 4.3.2 [gcc-4_3-branch revision 141291]] 
admin(31903): sys.executable  =   /usr/bin/python 
admin(31903): sys.prefix      =   /usr 
admin(31903): sys.exec_prefix =   /usr 
admin(31903): sys.path        =   /usr 
admin(31903): sys.platform    =   linux2 
admin(31903): [----- Environment Variables -----] 
admin(31903):   HTTP_COOKIE: ev-advocates+admin=28020000006945cb9a49732800000039
376331326335313035316262373436376334626462396366653333626162303362373432366364; 
currentevents+admin=280200000069b0f89a497328000000386236616561633530643966333330
65653530656665366438663666666537363963393635353866 
admin(31903):   SERVER_SOFTWARE: Apache/2.2.10 (Linux/SUSE) 
admin(31903):   SCRIPT_NAME: /mailman/subscribe 
admin(31903):   SERVER_SIGNATURE: <address>Apache/2.2.10 (Linux/SUSE) Server at 
groups.eaaev.org Port 443</address>
admin(31903): 
admin(31903):   REQUEST_METHOD: POST 
admin(31903):   HTTP_KEEP_ALIVE: 300 
admin(31903):   SERVER_PROTOCOL: HTTP/1.1 
admin(31903):   QUERY_STRING:  
admin(31903):   CONTENT_LENGTH: 76 
admin(31903):   HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
admin(31903):   HTTP_USER_AGENT: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5;
 en-US; rv:1.9.0.6) Gecko/2009011912 Firefox/3.0.6 
admin(31903):   HTTP_CONNECTION: keep-alive 
admin(31903):   HTTP_REFERER: https://groups.eaaev.org/mailman/listinfo/ev-advoc
ates 
admin(31903):   SERVER_NAME: groups.eaaev.org 
admin(31903):   REMOTE_ADDR: 24.4.200.151 
admin(31903):   PATH_TRANSLATED: /b/srv/www/groups.eaaev.org/docs/ev-advocates 
admin(31903):   SERVER_PORT: 443 
admin(31903):   SERVER_ADDR: 192.83.249.95 
admin(31903):   DOCUMENT_ROOT: /b/srv/www/groups.eaaev.org/docs 
admin(31903):   PYTHONPATH: /usr/lib/mailman 
admin(31903):   SCRIPT_FILENAME: /usr/lib/mailman/cgi-bin/subscribe 
admin(31903):   SERVER_ADMIN: webmaster@eaaev.org 
admin(31903):   HTTP_HOST: groups.eaaev.org 
admin(31903):   HTTPS: on 
admin(31903):   REQUEST_URI: /mailman/subscribe/ev-advocates 
admin(31903):   HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0
.9,*/*;q=0.8 
admin(31903):   GATEWAY_INTERFACE: CGI/1.1 
admin(31903):   REMOTE_PORT: 60253 
admin(31903):   HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.5 
admin(31903):   CONTENT_TYPE: application/x-www-form-urlencoded 
admin(31903):   HTTP_ACCEPT_ENCODING: gzip,deflate 
admin(31903):   PATH_INFO: /ev-advocates 

From looking around, it appears that mailman 2.1.12 is required to work with Python 2.6, but openSUSE is running 2.1.11. Can this be patched?

The only thing that is unusual about this mailing list is that it is one of a few on the server that uses a different virtual domain (groups.eaaev.org instead of groups.killian.com).

Reproducible: Always

Steps to Reproduce:
1. Go to https://groups.eaaev.org/mailman/listinfo/ev-advocates
2. Enter email address
3. Click submit
Actual Results:  
Bug in Mailman version 2.1.11

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.

Expected Results:  
A page about being sent confirmation email.
Comment 1 Erik Brakkee 2009-04-20 19:39:06 UTC
I have the same problem (also on openSuSE 11.1 with the same version of mailman). 
In my case the problem occurs on a mailing list for the main (i.e. non-virtual) domain.
Comment 2 Axel Theilmann 2009-07-07 10:44:27 UTC
i have the same problem.

the offending line is:

/usr/lib/mailman/Mailman/MailList.py:916

raise Errors.MMSubscribeNeedsConfirmation

i'm no python expert, but it seems that python now requires exceptions to be proper classes, not just strings. 

in mailman 2.1.11, the exection is declared as

/usr/lib/mailman/Mailman/Errors.py:56

MMSubscribeNeedsConfirmation = "MMSubscribeNeedsConfirmation"

and marked as "# BAW: these still need to be converted to classes."


in mailman 2.1.12, the definition is

class MMSubscribeNeedsConfirmation: pass


i didnt try 2.1.12 but it should work and an update should be the easiest way to fix it.
Comment 3 Heiko Rommel 2009-11-04 16:51:29 UTC
This is essentially a duplicate of Bug 551306.
We are going to address this by releasing an update for all affected products by shipping the maintenance version 2.1.12.

*** This bug has been marked as a duplicate of bug 551306 ***