Error

I failed of setting my preferences on live.gnome.org. An error occurred. An error message is the following one.

TypeError

expected a character buffer object

Reproduce

  1. Loggin in live.gnome.org
  2. Clicking Settings
  3. Clicking Preferences
  4. Configuring preferences
  5. Pressing "Save"

Details

Traceback

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

   1.

      /usr/local/www/moin/moin-1.8.7/MoinMoin/request/__init__.py in run (self=<MoinMoin.request.request_modpython.Request object>)
         1. 1309 self.page.send_page()
         2. 1310 else:
         3. 1311 handler(self.page.page_name, self)
         4. 1312
         5. 1313 # every action that didn't use to raise MoinMoinFinish must call this now:
          * handler = <function execute>
          * self = <MoinMoin.request.request_modpython.Request object>
          * self.page = <MoinMoin.Page.Page object>
          * self.page.page_name = u'TranslationProject/JoiningTranslation'
   2.

      /usr/local/www/moin/moin/MoinMoin/action/userprefs.py in execute (pagename=u'TranslationProject/JoiningTranslation', request=<MoinMoin.request.request_modpython.Request object>)
         1. 93 return Page.Page(request, pagename).send_page()
         2. 94
         3. 95 text, title, msg_class, msg = _create_page(request)
         4. 96 if title:
         5. 97 # XXX: we would like to make "Settings" here a link back
          * text undefined
          * title undefined
          * msg_class undefined
          * msg undefined
          * global _create_page = <function _create_page>
          * request = <MoinMoin.request.request_modpython.Request object>
   3.

      /usr/local/www/moin/moin/MoinMoin/action/userprefs.py in _create_page (request=<MoinMoin.request.request_modpython.Request object>, cancel=False)
         1. 65
         2. 66 if 'handler' in request.form:
         3. 67 msg_class, msg = _handle_submission(request)
         4. 68 else:
         5. 69 msg_class, msg = None, None
          * msg_class undefined
          * msg undefined
          * global _handle_submission = <function _handle_submission>
          * request = <MoinMoin.request.request_modpython.Request object>
   4.

      /usr/local/www/moin/moin/MoinMoin/action/userprefs.py in _handle_submission (request=<MoinMoin.request.request_modpython.Request object>)
         1. 32 if not obj.allowed():
         2. 33 return None, None
         3. 34 res = obj.handle_form()
         4. 35 if isinstance(res, tuple):
         5. 36 return res
          * res undefined
          * obj = <MoinMoin.userprefs.prefs.Settings object>
          * obj.handle_form = <bound method Settings.handle_form of <MoinMoin.userprefs.prefs.Settings object>>
   5.

      /usr/local/www/moin/moin/MoinMoin/userprefs/prefs.py in handle_form (self=<MoinMoin.userprefs.prefs.Settings object>)
         1. 236
         2. 237 if form.has_key('save'): # Save user profile
         3. 238 return self._save_user_prefs()
         4. 239
         5. 240 # form generation part
          * self = <MoinMoin.userprefs.prefs.Settings object>
          * self._save_user_prefs = <bound method Settings._save_user_prefs of <MoinMoin.userprefs.prefs.Settings object>>
   6.

      /usr/local/www/moin/moin/MoinMoin/userprefs/prefs.py in _save_user_prefs (self=<MoinMoin.userprefs.prefs.Settings object>)
         1. 135
         2. 136 # try to get the editor
         3. 137 request.user.editor_default = wikiutil.clean_input(form.get('editor_default', [self.cfg.editor_default])[0])
         4. 138 request.user.editor_ui = wikiutil.clean_input(form.get('editor_ui', [self.cfg.editor_ui])[0])
         5. 139
          * request = <MoinMoin.request.request_modpython.Request object>
          * request.user = <MoinMoin.user.User at 0xb0fd4cc name:u'JiroMatsuzawa' valid:1>
          * request.user.editor_default = u'text'
          * global wikiutil = <module 'MoinMoin.wikiutil' from '/usr/local/www/moin/moin/MoinMoin/wikiutil.pyc'>
          * wikiutil.clean_input = <function clean_input>
          * form = {'action': [u'userprefs', u'userprefs'], 'aliasname': [u''], 'css_url': [u''], 'datetime_fmt': [u''], 'edit_rows': [u'20'], 'email': [u'matsuzawa.jr@gmail.com'], 'handler': [u'prefs', u'prefs'], 'jid': [u''], 'language': [u'ja'], 'name': [u'JiroMatsuzawa'], ...}
          * form.get = <built-in method get of dict object>
          * self = <MoinMoin.userprefs.prefs.Settings object>
          * self.cfg = <wikiconfig.Config object>
          * self.cfg.editor_default = 'text'
   7.

      /usr/local/www/moin/moin-1.8.7/MoinMoin/wikiutil.py in clean_input (text='text', max_len=201)
         1. 268 return u''
         2. 269 else:
         3. 270 return text.translate(config.clean_input_translation_map)
         4. 271
         5. 272
          * text = 'text'
          * text.translate = <built-in method translate of str object>
          * global config = <module 'MoinMoin.config' from '/usr/local/www/moin/moin/MoinMoin/config/__init__.pyc'>
          * config.clean_input_translation_map = {0: None, 1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: u' ', ...}

TypeError

expected a character buffer object

    * args = ('expected a character buffer object',)

System Details

    * Date: Tue, 06 Apr 2010 15:43:58 +0000
    * Platform: Linux label.gnome.org 2.6.18-164.6.1.el5PAE #1 SMP Tue Oct 27 11:46:58 EDT 2009 i686
    * Python: Python 2.4.3 (/usr/bin/python)
    * MoinMoin: Release 1.8.7 (release)

This is already fixed by http://hg.moinmo.in/moin/1.8/rev/1f638ed400a0 (short after 1.8.7 release).


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/SettingPreferencesFailure (last edited 2010-04-06 18:33:19 by ThomasWaldmann)