What's the URL of the page containing the problem?
http://example.com/admin/db/diffviewer/filediff/15905/
What steps will reproduce the problem?
1. Select any file diff in the admin ui.
2. Click "save" with or without changing anything.
What is the expected output? What do you see instead?
It fails with an "Incorrect padding" error. Here is the traceback:
Traceback:
File "/usr/local/lib/python2.5/site-packages/django/core/handlers/base.py"
in get_response
86. response = callback(request, *callback_args,
**callback_kwargs)
File "/usr/local/lib/python2.5/site-packages/django/contrib/admin/sites.py"
in root
157. return self.model_page(request, *url.split('/', 2))
File
"/usr/local/lib/python2.5/site-packages/django/views/decorators/cache.py"
in _wrapped_view_func
44. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.5/site-packages/django/contrib/admin/sites.py"
in model_page
176. return admin_obj(request, rest_of_url)
File
"/usr/local/lib/python2.5/site-packages/django/contrib/admin/options.py" in
__call__
197. return self.change_view(request, unquote(url))
File "/usr/local/lib/python2.5/site-packages/django/db/transaction.py" in
_commit_on_success
238. res = func(*args, **kw)
File
"/usr/local/lib/python2.5/site-packages/django/contrib/admin/options.py" in
change_view
580. self.save_model(request, new_object, form, change=True)
File
"/usr/local/lib/python2.5/site-packages/django/contrib/admin/options.py" in
save_model
376. obj.save()
File "/usr/local/lib/python2.5/site-packages/django/db/models/base.py" in save
311. self.save_base(force_insert=force_insert,
force_update=force_update)
File "/usr/local/lib/python2.5/site-packages/django/db/models/base.py" in
save_base
361. values = [(f, None, f.get_db_prep_save(raw and
getattr(self, f.attname) or f.pre_save(self, False))) for f in non_pks]
File
"/usr/local/lib/python2.5/site-packages/django/db/models/fields/__init__.py" in
pre_save
179. return getattr(model_instance, self.attname)
File
"/data/home/ehuss/download/reviewboard/svn/reviewboard/reviewboard/djblets/util/fields.py"
in __get__
69. return Base64DecodedValue(base64.decodestring(value))
File "/usr/local/lib/python2.5/base64.py" in decodestring
321. return binascii.a2b_base64(s)
Exception Type: Error at /admin/db/diffviewer/filediff/15905/
Exception Value: Incorrect padding
Please provide any additional information below.
This is with djblets r11997 and rb1798 with django 1.0.2.
I suspect this is some weird interaction with the custom Base64Field in
djblets and the admin tool. Not sure if this is any different in django 1.1.