3958: Unicode in user names

damien*******@bt-gro******* (Google Code) (Is this you? Claim this profile.)
What version are you running?
2.0.19

What's the URL of the page containing the problem?
There's no URL, its a mail problem happening with every reviews.


What steps will reproduce the problem?
1. Register a user with special chars in the name like Gaëtan (our one was coming from LDAP)
2. Create a new review, add reviewers and publish
3. Emails are not sent

What is the expected output? What do you see instead?
We should see email notifications coming in our mailboxes when any modification occurs on reviews.

What operating system are you using? What browser?
Reviewboard is hosted on Debian 8.0, 64 bits platform, with python 2.7 and Django 1.6.11.

Temporary solution:
Remove special chars in user full name.

Please provide any additional information below.
Here is the stack trace:

2015-09-03 17:00:30,387 - ERROR -  - Error sending e-mail notification with subject 'Re: Review Request 236: reporting: device status and errors.' on behalf of 'Damien <*****@bt-ground.com>' to 'Eric <*****@bt-ground.com>,Gaëtan <*****@bt-ground.com>,Damien <*****@bt-ground.com>,Olivier <*****@bt-ground.com>,Franck <*****@bt-ground.com>'
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0.19-py2.7.egg/reviewboard/notifications/email.py", line 632, in send_review_mail
    message.send()
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/message.py", line 276, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/backends/smtp.py", line 94, in send_messages
    sent = self._send(message)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/backends/smtp.py", line 110, in _send
    self.connection.sendmail(from_email, recipients, message.as_bytes())
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/message.py", line 138, in as_string
    return fp.getvalue()
  File "/usr/lib/python2.7/StringIO.py", line 271, in getvalue
    self.buf += ''.join(self.buflist)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 378: ordinal not in range(128)
2015-09-03 17:01:36,224 - DEBUG -  - Calculated issue counts for review request ID 236 across 1 review(s): Resulting counts = {u'R': 0, u'D': 0, u'O': 0}; DB values = [{u'screenshot_comments__issue_status': None, u'file_attachment_comments__pk': None, u'screenshot_comments__issue_opened': None, u'comments__pk': None, u'comments__issue_opened': None, u'file_attachment_comments__issue_opened': None, u'screenshot_comments__pk': None, u'comments__issue_status': None, u'file_attachment_comments__issue_status': None}]; Field IDs = {u'screenshot_comments': set([]), u'comments': set([]), u'file_attachment_comments': set([])}
2015-09-03 17:01:36,357 - ERROR -  - Error sending e-mail notification with subject 'Re: Review Request 236: reporting: device status and errors.' on behalf of 'Gaëtan <*****@bt-ground.com>' to 'Eric <*****@bt-ground.com>,Gaëtan <gmorin@bt-ground.com>,Damien <*****@bt-ground.com>,Olivier <*****@bt-ground.com>,Franck <*****@bt-ground.com>''
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/ReviewBoard-2.0.19-py2.7.egg/reviewboard/notifications/email.py", line 632, in send_review_mail
    message.send()
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/message.py", line 276, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/backends/smtp.py", line 94, in send_messages
    sent = self._send(message)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/backends/smtp.py", line 110, in _send
    self.connection.sendmail(from_email, recipients, message.as_bytes())
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.11.1-py2.7.egg/django/core/mail/message.py", line 138, in as_string
    return fp.getvalue()
  File "/usr/lib/python2.7/StringIO.py", line 271, in getvalue
    self.buf += ''.join(self.buflist)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 385: ordinal not in range(128)
david
#1 david

This was fixed in 2.0.20

  • -New
    +Fixed