Description
I logged in Ubuntu official wiki via Launchpad but it told me:
The username you have chosen is already taken. If it is your username, enter your password below to associate the username with your OpenID. Otherwise, please choose a different username and leave the password field blank.
I inserted the password and it compares a page which told me that there was a bug. Sorry for my english
Steps to reproduce
Example
Component selection
- general
Details
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
/var/lib/python-support/python2.5/MoinMoin/request/request_fcgi.py in init (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, fcgRequest=<MoinMoin.support.thfcgi.Request instance at 0x2245518>, env={'CONTENT_LENGTH': '105', 'CONTENT_TYPE': 'application/x-www-form-urlencoded', 'DOCUMENT_ROOT': '/srv/wiki.ubuntu.com/www/', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip,deflate', 'HTTP_ACCEPT_LANGUAGE': 'eo', 'HTTP_CACHE_CONTROL': 'max-age=259200', 'HTTP_CONNECTION': 'keep-alive', ...}, form=FieldStorage(None, None, [MiniFieldStorage('logi...niFieldStorage('submit', 'Associate this name')]), properties={})
- 26 self.fcgform = form
- 27 self._setup_vars_from_std_env(env)
28 RequestBase.init(self, properties)
- 29
- 30 except Exception, err:
global RequestBase = <class 'MoinMoin.request.RequestBase'>
RequestBase.init = <unbound method RequestBase.init>
self = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>
- properties = {}
/var/lib/python-support/python2.5/MoinMoin/request/init.py in init (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, properties={})
- 205 # set self.user even if _handle_auth_form raises an Exception
- 206 self.user = None
- 207 self.user = self._handle_auth_form(user_obj)
- 208 del user_obj
- 209 self.cfg.session_handler.after_auth(self, self.cfg.session_id_handler, self.user)
/var/lib/python-support/python2.5/MoinMoin/request/init.py in _handle_auth_form (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>)
- 610 return self.handle_auth(user_obj, attended=True, username=username,
- 611 password=password, login=login, logout=logout,
- 612 stage=stage, openid_identifier=oid)
- 613
- 614 def handle_auth(self, user_obj, attended=False, **kw):
- stage = u'openid'
- openid_identifier undefined
- oid = None
/var/lib/python-support/python2.5/MoinMoin/request/init.py in handle_auth (self=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>, attended=True, **kw={'login': True, 'logout': False, 'openid_identifier': None, 'password': rupower90\m/u, 'stage': u'openid', 'username': None})
- 642 if stage and authmethod.name != stage:
- 643 continue
- 644 ret = authmethod.login(self, user_obj, **extra)
- 645 user_obj = ret.user_obj
- 646 cont = ret.continue_flag
- ret undefined
authmethod = <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>
authmethod.login = <bound method OpenIDAuth.login of <MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>>
self = <MoinMoin.request.request_fcgi.Request object at 0x59cbd50>
user_obj = <MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>
extra = {'attended': True, 'cookie': <SimpleCookie: MOIN_SESSION='elnughfk0oicl44_5j8...1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)'>, 'multistage': True, 'openid_identifier': None, 'password': rupower90\m/u, 'username': None}
/var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in login (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>, user_obj=<MoinMoin.user.User at 0x58274d0 name:u'haikara90' valid:1>, **kw={'attended': True, 'cookie': <SimpleCookie: MOIN_SESSION='elnughfk0oicl44_5j8...1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)'>, 'multistage': True, 'openid_identifier': None, 'password': rupower90\m/u, 'username': None})
- 321
- 322 if continuation:
- 323 return self._handle_continuation(request)
- 324
- 325 # openid is designed to work together with other auths
/var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in _handle_continuation (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>)
- 300 return self._handle_name_continuation(request)
- 301 elif oidstage == '3':
- 302 return self._handle_associate_continuation(request)
303 return CancelLogin()
- 304
/var/lib/python-support/python2.5/MoinMoin/auth/openidrp.py in _handle_associate_continuation (self=<MoinMoin.auth.openidrp.OpenIDAuth instance at 0xe57320>, request=<MoinMoin.request.request_fcgi.Request object at 0x59cbd50>)
- 268 def _handle_associate_continuation(self, request):
- 269 if not 'openid.id' in request.session:
270 return CancelLogin()
- 271
- 272 _ = request.getText
global CancelLogin = <class 'MoinMoin.auth.CancelLogin'>
init() takes exactly 2 arguments (1 given)
args = ('init() takes exactly 2 arguments (1 given)',)
message = 'init() takes exactly 2 arguments (1 given)'
System Details
- Date: Fri, 21 Aug 2009 17:09:52 +0000
- Platform: Linux titanium 2.6.24-24-server #1 SMP Wed Apr 15 15:41:09 UTC 2009 x86_64
- Python: Python 2.5.2 (/usr/bin/python)
MoinMoin: Release 1.6.3 (release)
Workaround
Don't know
Discussion
There is some newer openid code (contributed by RowanKerr, working for Ubuntu) and it has recently been merged into moin/1.9. The bug is fixed there.
Just giving a string or None to CancelLogin would also fix this specific problem in 1.6.x.
Plan
- Priority:
- Assigned to:
Status: fixed in 1.9, trivial to fix in 1.6, just use CancelLogin(None), see http://hg.moinmo.in/moin/1.8/rev/e523dc1c4758