Somebody with the e-mail address <liangmeiairen\uff20163> has subscribed
to some Wiki pages and breaks them in several ways:
* Mail notifications are disabled. I no longer receive mails when
somebody edits such a page.
* Editing the pages gives a colourful traceback.
Happens with e.g.:
http://fedoraproject.org/wiki/Extras/FC5Status
--> -->
UnicodeEncodeError'ascii' codec can't encode character u'\uff20' in
position 22: ordinal not in range(128) Please include this information in your bug
reports!:
Python Python 2.3.4: /usr/bin/python
Linux
fpserv.linux.duke.edu 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64
MoinMoin Release 1.3.4 [Revision 1.3.4 release]
Sat Oct 7 19:02:05 2006
A problem occurred in a Python script. Here is the sequence of function calls leading up
to the error, in the order they occurred.
/usr/lib/python2.3/site-packages/MoinMoin/request.py in
run(self=<MoinMoin.request.RequestCGI instance>)
916 else:
917 try:
918 cgitb.Hook(file=self).handle(saved_exc)
919 # was: cgitb.handler()
920 except:
cgitb = <module 'MoinMoin.support.cgitb' from
'/usr/lib/python2.3/site-packages/MoinMoin/support/cgitb.pyc'>, cgitb.Hook =
<class MoinMoin.support.cgitb.Hook>, file undefined, self =
<MoinMoin.request.RequestCGI instance>, ).handle undefined, saved_exc = (<class
exceptions.UnicodeEncodeError>, <exceptions.UnicodeEncodeError instance>,
<traceback object>)
/usr/lib/python2.3/site-packages/MoinMoin/wikiaction.py in
do_savepage(pagename=u'Extras/FC5Status', request=<MoinMoin.request.RequestCGI
instance>)
628 except pg.SaveError, msg:
629 # msg contain a unicode string
630 savemsg = unicode(msg)
631
632 # Send new page after save or after unsuccessful conflict merge.
savemsg undefined, unicode undefined, msg undefined
/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in
saveText(self=<MoinMoin.PageEditor.PageEditor instance>, newtext=u'== Fedora
Extras for FC5 repository status ==\n\n
...at.com||perl-Razor-Agent||||\n----\nCategoryExtras\n', rev=184,
**kw={'comment': u'sysprof - 1.0.3-4.fc5.ppc and amarok - 1.4.1-3.fc5.x86_64
will be gone', 'trivial': 0})
940 # send notification mails
941 if self.request.cfg.mail_smarthost:
942 msg = msg + self._notifySubscribers(comment, trivial)
943
944 # remove lock (forcibly if we were allowed to break it by the UI)
msg = u'Thank you for your changes. Your attention to detail is appreciated.',
self = <MoinMoin.PageEditor.PageEditor instance>, self._notifySubscribers =
<bound method PageEditor._notifySubscribers of <MoinMoin.PageEditor.PageEditor
instance>>, comment = u'sysprof - 1.0.3-4.fc5.ppc and amarok -
1.4.1-3.fc5.x86_64 will be gone', trivial = 0
/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in
_notifySubscribers(self=<MoinMoin.PageEditor.PageEditor instance>,
comment=u'sysprof - 1.0.3-4.fc5.ppc and amarok - 1.4.1-3.fc5.x86_64 will be gone',
trivial=0)
580 emails = map(lambda u: u.email, subscribers[lang])
581 names = map(lambda u: u.name, subscribers[lang])
582 mailok, status = self._sendNotification(comment, emails, lang,
revisions, trivial)
583 recipients = ", ".join(names)
584 results.append(_('[%(lang)s] %(recipients)s: %(status)s') %
{
mailok = 1, status = u'Mail sent OK', self = <MoinMoin.PageEditor.PageEditor
instance>, self._sendNotification = <bound method PageEditor._sendNotification of
<MoinMoin.PageEditor.PageEditor instance>>, comment = u'sysprof -
1.0.3-4.fc5.ppc and amarok - 1.4.1-3.fc5.x86_64 will be gone', emails =
[u'tchung(a)fedoraproject.org', u'ville.skytta(a)iki.fi',
u'fedora(a)leemhuis.info', u'rdieter(a)math.unl.edu',
u'ivazquez(a)ivazquez.net', u'Christian.Iseli(a)licr.org',
u'sundaram(a)redhat.com', u'nman64(a)fedoraproject.org',
u'michael(a)knox.net.nz', u'liangmeiairen\uff20163 .com',
u'flores.enrique(a)gmail.com'], lang = 'en', revisions = [184, 183, 182,
181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, ...],
trivial = 0
/usr/lib/python2.3/site-packages/MoinMoin/PageEditor.py in
_sendNotification(self=<MoinMoin.PageEditor.PageEditor instance>,
comment=u'sysprof - 1.0.3-4.fc5.ppc and amarok - 1.4.1-3.fc5.x86_64 will be gone',
emails=[u'tchung(a)fedoraproject.org', u'ville.skytta(a)iki.fi',
u'fedora(a)leemhuis.info', u'rdieter(a)math.unl.edu',
u'ivazquez(a)ivazquez.net', u'Christian.Iseli(a)licr.org',
u'sundaram(a)redhat.com', u'nman64(a)fedoraproject.org',
u'michael(a)knox.net.nz', u'liangmeiairen\uff20163 .com',
u'flores.enrique(a)gmail.com'], email_lang='en', revisions=[184, 183, 182,
181, 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 166, 165, ...],
trivial=0)
556 'username': self.uid_override or
user.getUserIdentification(self.request),
557 },
558 mailBody, mail_from=self.cfg.mail_from)
559
560
mailBody = u'Dear Wiki user,\n\nYou have subscribed to a wiki p...sion independent,
disttagless, noarch packages):\n', mail_from undefined, self =
<MoinMoin.PageEditor.PageEditor instance>, self.cfg = <wikiconfig.Config
instance>, self.cfg.mail_from = 'fedorawiki-noreply(a)fedoraproject.org'
/usr/lib/python2.3/site-packages/MoinMoin/util/mail.py in
sendmail(request=<MoinMoin.request.RequestCGI instance>,
to=[u'tchung(a)fedoraproject.org', u'ville.skytta(a)iki.fi',
u'fedora(a)leemhuis.info', u'rdieter(a)math.unl.edu',
u'ivazquez(a)ivazquez.net', u'Christian.Iseli(a)licr.org',
u'sundaram(a)redhat.com', u'nman64(a)fedoraproject.org',
u'michael(a)knox.net.nz', u'liangmeiairen\uff20163 .com',
u'flores.enrique(a)gmail.com'], subject=u'[Fedora Project Wiki] Update of
"Extras/FC5Status" by MichaelSchwendt', text='Dear Wiki user,\r\n\r\nYou
have subscribed to a wiki...ion independent, disttagless, noarch packages):\r\n',
**kw={'mail_from': 'fedorawiki-noreply(a)fedoraproject.org'})
85 return (0, str(e))
86 except (os.error, socket.error), e:
87 return (0, _("Connection to mailserver '%(server)s' failed:
%(reason)s") % {
88 'server': cfg.mail_smarthost,
89 'reason': str(e)
_ = <function <lambda>>, cfg = <wikiconfig.Config instance>,
cfg.mail_smarthost = 'mail.linux.duke.edu', str undefined, e undefined
/usr/lib64/python2.3/smtplib.py in sendmail(self=<smtplib.SMTP instance>,
from_addr='fedorawiki-noreply(a)fedoraproject.org',
to_addrs=[u'tchung(a)fedoraproject.org', u'ville.skytta(a)iki.fi',
u'fedora(a)leemhuis.info', u'rdieter(a)math.unl.edu',
u'ivazquez(a)ivazquez.net', u'Christian.Iseli(a)licr.org',
u'sundaram(a)redhat.com', u'nman64(a)fedoraproject.org',
u'michael(a)knox.net.nz', u'liangmeiairen\uff20163 .com',
u'flores.enrique(a)gmail.com'], msg='Content-Type: text/plain;
charset="utf-8"\nMIME-V...LCBkaXN0dGFnbGVzcywgbm9hcmNoIHBhY2thZ2VzKToNCg==\n',
mail_options=[], rcpt_options=[])
679 to_addrs = [to_addrs]
680 for each in to_addrs:
681 (code,resp)=self.rcpt(each, rcpt_options)
682 if (code != 250) and (code != 251):
683 senderrs[each]=(code,resp)
code = 250, resp = 'Ok', self = <smtplib.SMTP instance>, self.rcpt =
<bound method SMTP.rcpt of <smtplib.SMTP instance>>, each =
u'liangmeiairen\uff20163 .com', rcpt_options = []
/usr/lib64/python2.3/smtplib.py in rcpt(self=<smtplib.SMTP instance>,
recip=u'liangmeiairen\uff20163 .com', options=[])
462 if options and self.does_esmtp:
463 optionlist = ' ' + ' '.join(options)
464 self.putcmd("rcpt","TO:%s%s" %
(quoteaddr(recip),optionlist))
465 return self.getreply()
466
self = <smtplib.SMTP instance>, self.putcmd = <bound method SMTP.putcmd of
<smtplib.SMTP instance>>, global quoteaddr = <function quoteaddr>, recip =
u'liangmeiairen\uff20163 .com', optionlist = ''
/usr/lib64/python2.3/smtplib.py in putcmd(self=<smtplib.SMTP instance>,
cmd='rcpt', args=u'TO:<liangmeiairen\uff20163>')
323 else:
324 str = '%s %s%s' % (cmd, args, CRLF)
325 self.send(str)
326
327 def getreply(self):
self = <smtplib.SMTP instance>, self.send = <bound method SMTP.send of
<smtplib.SMTP instance>>, str = u'rcpt
TO:<liangmeiairen\uff20163>\r\n'
/usr/lib64/python2.3/smtplib.py in send(self=<smtplib.SMTP instance>,
str=u'rcpt TO:<liangmeiairen\uff20163>\r\n')
313 except socket.error:
314 self.close()
315 raise SMTPServerDisconnected('Server not connected')
316 else:
317 raise SMTPServerDisconnected('please run connect() first')
global SMTPServerDisconnected = <class smtplib.SMTPServerDisconnected>
/srv/web/wiki/<string> in sendall(self=<socket._socketobject object>,
*args=(u'rcpt TO:<liangmeiairen\uff20163>\r\n',))
UnicodeEncodeError: 'ascii' codec can't encode character u'\uff20' in
position 22: ordinal not in range(128)
__doc__ = 'Unicode encoding error.'
__getitem__ = <bound method UnicodeEncodeError.__getitem__ of
<exceptions.UnicodeEncodeError instance>>
__init__ = <bound method UnicodeEncodeError.__init__ of
<exceptions.UnicodeEncodeError instance>>
__module__ = 'exceptions'
__str__ = <bound method UnicodeEncodeError.__str__ of
<exceptions.UnicodeEncodeError instance>>
args = ('ascii', u'rcpt TO:<liangmeiairen\uff20163>\r\n', 22,
23, 'ordinal not in range(128)')
encoding = 'ascii'
end = 23
object = u'rcpt TO:<liangmeiairen\uff20163>\r\n'
reason = 'ordinal not in range(128)'
start = 22