hello!

I met a problem about "error: invalid utf8 string"  when I install a new 
server with reviewboard , when I upload a  diff file to create a new review 
request,it aways prompt that error to me! I don't know how to solve it and 
I have been blocked by this error for days, I need  help! please!


my system info is :

system:ubuntu16.04 Server
python:2.7.12
mysql:Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  EditLine wrapper
apache:Apache/2.4.18 (Ubuntu)
ReviewBoard:2.5.7
svn:version 1.9.3 (r1718519)


when I use this command :

rbt post -p -d --server="http://172.17.226.171"; --username='summer' 
--password='******' --submit-as="summer"  --summary="20170123-1" 
 --target-groups="user" --description="test" 
--repository-url="http://172.17.226.129/SVN/TestRepo"; 33 >> 
/tmp/svn-post-commit.log

it shows:

>>> RBTools 0.7.6

>>> Python 2.7.6 (default, Jun 22 2015, 17:58:13)

[GCC 4.8.2]

>>> Running on Linux-3.13.0-32-generic-x86_64-with-Ubuntu-14.04-trusty

>>> Home = /var/www

>>> Current directory = /var/www/.ssh

>>> Checking for a Subversion repository...

>>> Running: svn --non-interactive info http://172.17.226.129/SVN/TestRepo

>>> Running: diff --version

>>> Running: svn --non-interactive --version -q

>>> repository info: Path: http://172.17.226.129/SVN/TestRepo, Base path: 
/, Supports changesets: False

>>> Making HTTP GET request to http://172.17.226.171/api/

>>> Making HTTP GET request to 
http://172.17.226.171/api/repositories/?tool=Subversion

>>> Added cache entry for HTTP GET request to 
http://172.17.226.171/api/repositories/?tool=Subversion

>>> Running: svn --non-interactive log --xml -r 33 -l 1 
http://172.17.226.129/SVN/TestRepo

>>> Running: svn --non-interactive info http://172.17.226.129/SVN/TestRepo

>>> Running: diff --version

>>> Running: svn --non-interactive --version -q

>>> repository info: Path: http://172.17.226.129/SVN/TestRepo, Base path: 
/, Supports changesets: False

>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry 
http://172.17.226.129/SVN/TestRepo/@32 
http://172.17.226.129/SVN/TestRepo/@33

>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry 
http://172.17.226.129/SVN/TestRepo/@32 
http://172.17.226.129/SVN/TestRepo/@33 --no-diff-deleted

>>> Making HTTP GET request to http://172.17.226.171/api/validation/diffs/

>>> Added cache entry for HTTP GET request to 
http://172.17.226.171/api/validation/diffs/

>>> Making HTTP POST request to http://172.17.226.171/api/validation/diffs/

>>> Got API Error 224 (HTTP code 400): Unexpected error when validating the 
diff: Invalid utf8 character string: 'A33200'

>>> Error data: {u'stat': u'fail', u'err': {u'msg': u"Unexpected error when 
validating the diff: Invalid utf8 character string: 'A33200'", u'code': 
224}}

Traceback (most recent call last):

  File "/usr/local/bin/rbt", line 9, in <module>

    load_entry_point('RBTools==0.7.6', 'console_scripts', 'rbt')()

  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/main.py",
 
line 133, in main

    command.run_from_argv([RB_MAIN, command_name] + args)

  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/__init__.py",
 
line 629, in run_from_argv

    exit_code = self.main(*args) or 0

  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/post.py",
 
line 756, in main

    (msg_prefix, e))

rbtools.commands.CommandError: Error validating diff

 

Unexpected error when validating the diff: Invalid utf8 character string: 
'A33200' (HTTP 400, API Error 224)





then I set debug=False in the setting.py , rerun that command,it shows:

www-data@ubuntu-empty:~/TestRepo$ rbt post -p -d 
--server="http://172.17.226.171"; --username='summer' --password='******' 
--submit-as="summer"  --summary="20170123-1"  --target-groups="user" 
--description="test" --repository-url="http://172.17.226.129/SVN/TestRepo"; 
33 >> /tmp/svn-post-commit.log
>>> RBTools 0.7.6
>>> Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2]
>>> Running on Linux-3.13.0-32-generic-x86_64-with-Ubuntu-14.04-trusty
>>> Home = /var/www
>>> Current directory = /var/www/TestRepo
>>> Checking for a Subversion repository...
>>> Running: svn --non-interactive info http://172.17.226.129/SVN/TestRepo
>>> Running: diff --version
>>> Running: svn --non-interactive --version -q
>>> repository info: Path: http://172.17.226.129/SVN/TestRepo, Base path: 
/, Supports changesets: False
>>> Making HTTP GET request to http://172.17.226.171/api/
>>> Making HTTP GET request to 
http://172.17.226.171/api/repositories/?tool=Subversion
>>> Cached response for HTTP GET 
http://172.17.226.171/api/repositories/?tool=Subversion expired and was 
modified
>>> Running: svn --non-interactive log --xml -r 33 -l 1 
http://172.17.226.129/SVN/TestRepo
>>> Running: svn --non-interactive info http://172.17.226.129/SVN/TestRepo
>>> Running: diff --version
>>> Running: svn --non-interactive --version -q
>>> repository info: Path: http://172.17.226.129/SVN/TestRepo, Base path: 
/, Supports changesets: False
>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry 
http://172.17.226.129/SVN/TestRepo/@32 
http://172.17.226.129/SVN/TestRepo/@33
>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry 
http://172.17.226.129/SVN/TestRepo/@32 
http://172.17.226.129/SVN/TestRepo/@33 --no-diff-deleted
>>> Making HTTP GET request to http://172.17.226.171/api/validation/diffs/
>>> Cached response for HTTP GET 
http://172.17.226.171/api/validation/diffs/ expired and was modified
>>> Making HTTP POST request to http://172.17.226.171/api/validation/diffs/
>>> Making HTTP GET request to 
http://172.17.226.171/api/review-requests/?only-links=create&only-fields=
>>> Added cache entry for HTTP GET request to 
http://172.17.226.171/api/review-requests/?only-links=create&only-fields=
>>> Making HTTP POST request to http://172.17.226.171/api/review-requests/
>>> Making HTTP GET request to 
http://172.17.226.171/api/review-requests/3/diffs/?only-fields=
>>> Added cache entry for HTTP GET request to 
http://172.17.226.171/api/review-requests/3/diffs/?only-fields=
>>> Making HTTP POST request to 
http://172.17.226.171/api/review-requests/3/diffs/
>>> Making HTTP GET request to 
http://172.17.226.171/api/review-requests/3/draft/?only-fields=commit_id
>>> Added cache entry for HTTP GET request to 
http://172.17.226.171/api/review-requests/3/draft/?only-fields=commit_id
>>> Making HTTP PUT request to 
http://172.17.226.171/api/review-requests/3/draft/
>>> Got API Error 105 (HTTP code 400): One or more fields had errors
>>> Error data: {u'fields': {u'target_groups': [u'user']}, u'stat': 
u'fail', u'draft': {u'commit_id': None, u'bugs_closed': [], 
u'last_updated': u'2017-02-06T07:13:24Z', u'description': u'test', 
u'target_people': [], u'changedescription': u'', u'depends_on': [], 
u'description_text_type': u'plain', u'target_groups': [], 
u'testing_done_text_type': u'plain', u'links': {u'self': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/', u'method': u'GET'}, 
u'draft_diffs': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/diffs/', u'method': 
u'GET'}, u'update': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/', u'method': u'PUT'}, 
u'draft_screenshots': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/screenshots/', 
u'method': u'GET'}, u'draft_file_attachments': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/file-attachments/', 
u'method': u'GET'}, u'review_request': {u'href': 
u'http://172.17.226.171/api/review-requests/3/', u'method': u'GET', 
u'title': u'(no summary)'}, u'delete': {u'href': 
u'http://172.17.226.171/api/review-requests/3/draft/', u'method': 
u'DELETE'}}, u'summary': u'20170123-1', u'public': False, u'testing_done': 
u'', u'branch': u'', u'text_type': None, u'extra_data': {}, 
u'changedescription_text_type': u'plain', u'id': 7}, u'err': {u'msg': u'One 
or more fields had errors', u'code': 105}}
Traceback (most recent call last):
  File "/usr/local/bin/rbt", line 9, in <module>
    load_entry_point('RBTools==0.7.6', 'console_scripts', 'rbt')()
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/main.py",
 
line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/__init__.py",
 
line 629, in run_from_argv
    exit_code = self.main(*args) or 0
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/post.py",
 
line 805, in main
    base_dir=base_dir)
  File 
"/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/post.py",
 
line 567, in post_request
    % (e, review_request.absolute_url))
rbtools.commands.CommandError: Error updating review request draft: One or 
more fields had errors (HTTP 400, API Error 105)

    target_groups: user

Your review request still exists, but the diff is not attached.

http://172.17.226.171/r/3/




when I upload a patch file which created by tortoiseSVN through the 
ReviewBoard Web page ,it prompt :

Unexpected error when validating the diff: Invalid utf8 character string: 
'843C2A'
Line undefined: undefined

and the admin page ->server log shows:
 - Unexpected error when validating diff.
Traceback (most recent call last):
  File 
"/usr/local/lib/python2.7/dist-packages/reviewboard/webapi/resources/validate_diff.py",
 
line 156, in create
    save=False)
  File 
"/usr/local/lib/python2.7/dist-packages/reviewboard/diffviewer/managers.py", 
line 432, in create_from_upload
    save=save)
  File 
"/usr/local/lib/python2.7/dist-packages/reviewboard/diffviewer/managers.py", 
line 545, in create_from_data
    status=status)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", 
line 413, in __init__
    setattr(self, prop, kwargs.pop(prop))
  File 
"/usr/local/lib/python2.7/dist-packages/reviewboard/diffviewer/models.py", 
line 225, in _set_diff
    RawFileDiffData.objects.get_or_create_from_data(diff)
  File 
"/usr/local/lib/python2.7/dist-packages/reviewboard/diffviewer/managers.py", 
line 360, in get_or_create_from_data
    'compression': compression,
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 
154, in get_or_create
    return self.get_queryset().get_or_create(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", 
line 383, in get_or_create
    obj.save(force_insert=True, using=self.db)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", 
line 545, in save
    force_update=force_update, update_fields=update_fields)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", 
line 573, in save_base
    updated = self._save_table(raw, cls, force_insert, force_update, using, 
update_fields)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", 
line 654, in _save_table
    result = self._do_insert(cls._base_manager, using, fields, update_pk, 
raw)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", 
line 687, in _do_insert
    using=using, raw=raw)
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 
232, in _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", 
line 1514, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", 
line 903, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python2.7/dist-packages/djblets/log/middleware.py", 
line 32, in execute
    return self.cursor.execute(sql, params)
  File 
"/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", 
line 124, in execute
    return self.cursor.execute(query, args)
  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 228, in 
execute
    if not self._defer_warnings: self._warning_check()
  File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 127, in 
_warning_check
    warn(w[-1], self.Warning, 3)
Warning: Invalid utf8 character string: '843C2A'

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to