Another thing to check is that your SECRET_KEY in settings_local.py hasn't
changed. If you're regenerating your site directory from scratch, this will
happen.

Christian

On Wed, Mar 1, 2017 at 13:29 Christian Hammond <christ...@beanbaginc.com>
wrote:

> Hi,
>
> We've seen this happen when manually manipulating the contents of these
> columns in the table. Was there any database work being done via script or
> manual SQL manipulation?
>
> Basically, the code looks in the password column for a special character
> at the beginning (a tab). If present, the following data is expected to be
> encrypted. If not, it's a plain text password, which will then be encrypted.
>
> What can happen is if the tab was ever dropped, it would have seen the
> content as plain text and tried to re-encrypt it. The next decrypt would
> have then returned the binary content from the previous encryption, instead
> of valid UTF-8 content. This triggers the errors you see below.
>
> If this is happening occasionally, then these tables are being manually
> manipulated in some way that corrupts the field. Can you think of what may
> be running or what SQL work was done that would cause that?
>
> A common one is dumping the entries to the screen using SQL and then
> copy/pasting them back into the database (usually another database).
>
> You shouldn't delete the repository entries, though. Once I know what's
> going on, I can give you a solution for fixing up the passwords.
>
> Christian
>
>
> On Wed, Mar 1, 2017 at 07:29 Michael Governale <mgovernal...@gmail.com>
> wrote:
>
> We ran into this issue twice this week. Going to review pages and
> repository config pages is giving a 500 error. The log messages are below.
>
> The last time we deleted and recreated the repository configuration pages.
> This loses the old / active reviews and isn't ideal.
>
> Any help or advice is appreciate. Thanks.
>
> Review Board 2.5.7
>
> Python warning:
>
>  - /usr/lib/python2.7/site-packages/feedparser.py:364: DeprecationWarning: To 
> avoid breaking existing software while fixing issue 310, a temporary mapping 
> has been created from `updated_parsed` to `published_parsed` if 
> `updated_parsed` doesn't exist. This fallback will be removed in a future 
> version of feedparser.
>   DeprecationWarning)
>
>
> Repository configuration error:
>
>  - Exception thrown for user at 
> http://reviewboard/admin/db/scmtools/repository/9/
>
> 'utf8' codec can't decode byte 0xbc in position 0: invalid start byte
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 
> 112, in get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>   File "/usr/lib/python2.7/site-packages/django/contrib/admin/options.py", 
> line 465, in wrapper
>     return self.admin_site.admin_view(view)(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 
> 99, in _wrapped_view
>     response = view_func(request, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/views/decorators/cache.py", 
> line 52, in _wrapped_view_func
>     response = view_func(request, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 
> 198, in inner
>     return view(request, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 
> 29, in _wrapper
>     return bound_func(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 
> 99, in _wrapped_view
>     response = view_func(request, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/utils/decorators.py", line 
> 25, in bound_func
>     return func(self, *args2, **kwargs2)
>   File "/usr/lib/python2.7/site-packages/django/db/transaction.py", line 371, 
> in inner
>     return func(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/django/contrib/admin/options.py", 
> line 1270, in change_view
>     form = ModelForm(instance=obj)
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/forms.py", line 
> 431, in __init__
>     self._populate_repository_info_fields()
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/forms.py", line 
> 517, in _populate_repository_info_fields
>     self.fields['password'].initial = self.instance.password
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/models.py", 
> line 217, in _get_password
>     password = decrypt_password(password).decode('utf-8')
>   File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
>     return codecs.utf_8_decode(input, errors, True)
> UnicodeDecodeError: 'utf8' codec can't decode byte 0xbc in position 0: 
> invalid start byte
>
>
>
> Review error:
>
>  - Exception thrown for user at http://reviewboard/r/19/
>
> 'utf8' codec can't decode byte 0xa9 in position 0: invalid start byte
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 
> 112, in get_response
>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>   File "/usr/lib/python2.7/site-packages/reviewboard/accounts/decorators.py", 
> line 25, in _check
>     return view_func(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/reviewboard/site/decorators.py", 
> line 35, in _check
>     return view_func(request, local_site=local_site, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/reviewboard/reviews/views.py", line 
> 780, in review_detail
>     'screenshots': screenshots,
>   File "/usr/lib/python2.7/site-packages/reviewboard/reviews/context.py", 
> line 99, in make_review_request_context
>     upload_diff_form = UploadDiffForm(review_request, request=request)
>   File "/usr/lib/python2.7/site-packages/reviewboard/reviews/forms.py", line 
> 127, in __init__
>     data, *args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/reviewboard/diffviewer/forms.py", 
> line 41, in __init__
>     if self.repository.get_scmtool().get_diffs_use_absolute_paths():
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/models.py", 
> line 231, in get_scmtool
>     return cls(self)
>   File 
> "/usr/lib/python2.7/site-packages/reviewboard/scmtools/svn/__init__.py", line 
> 69, in __init__
>     credentials = repository.get_credentials()
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/models.py", 
> line 281, in get_credentials
>     password = self.password
>   File "/usr/lib/python2.7/site-packages/reviewboard/scmtools/models.py", 
> line 217, in _get_password
>     password = decrypt_password(password).decode('utf-8')
>   File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
>     return codecs.utf_8_decode(input, errors, True)
> UnicodeDecodeError: 'utf8' codec can't decode byte 0xa9 in position 0: 
> invalid start byte
>
> --
> 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 reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
> --
> --
> Christian Hammond
> President/CEO of Beanbag <https://www.beanbaginc.com/>
> Makers of Review Board <https://www.reviewboard.org/>
>
-- 
-- 
Christian Hammond
President/CEO of Beanbag <https://www.beanbaginc.com/>
Makers of Review Board <https://www.reviewboard.org/>

-- 
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 reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to