#3889 vagrant installation: type error when accessing pagure
Closed: Invalid Opened by karsten.

New vagrant installation from pagure/master (a3c93a3d456bc91183e8fdd5574778deaa6ec5d8) :

diff Vagrantfile dev/Vagrantfile.example
git diff upstream/master
So no local changes at all.

Accessing http://localhost:5000/ results in this:

Traceback (most recent call last):
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 2309, in call
return self.wsgi_app(environ, start_response)
File "/home/vagrant/devel/pagure/proxy.py", line 74, in call
return self.app(environ, start_response)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 1811, in full_dispatch_request
rv = self.preprocess_request()
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask/app.py", line 2087, in preprocess_request
rv = func()
File "/home/vagrant/devel/pagure/flask_app.py", line 236, in set_request
flask.g.confirmationform = pagure.forms.ConfirmationForm()
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/wtforms/form.py", line 212, in call
return type.call(cls, args, kwargs)
File "/home/vagrant/devel/pagure/forms.py", line 58, in init
super(PagureForm, self).init(
args, kwargs)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask_wtf/form.py", line 88, in init
super(FlaskForm, self).init(formdata=formdata,
kwargs)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/wtforms/form.py", line 278, in init
self.process(formdata, obj, data=data, kwargs)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/wtforms/form.py", line 132, in process
field.process(formdata)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/wtforms/csrf/core.py", line 43, in process
self.current_token = self.csrf_impl.generate_csrf_token(self)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask_wtf/csrf.py", line 134, in generate_csrf_token
token_key=self.meta.csrf_field_name
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/flask_wtf/csrf.py", line 47, in generate_csrf
setattr(g, field_name, s.dumps(session[field_name]))
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/itsdangerous.py", line 565, in dumps
payload = want_bytes(self.dump_payload(obj))
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/itsdangerous.py", line 847, in dump_payload
json = super(URLSafeSerializerMixin, self).dump_payload(obj)
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/itsdangerous.py", line 550, in dump_payload
return want_bytes(self.serializer.dumps(obj))
File "/home/vagrant/.virtualenvs/python3-pagure/lib/python3.6/site-packages/itsdangerous.py", line 51, in dumps
return json.dumps(obj, separators=(',', ':'))
File "/usr/lib64/python3.6/json/init.py", line 238, in dumps
kw).encode(obj)
File "/usr/lib64/python3.6/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib64/python3.6/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/usr/lib64/python3.6/json/encoder.py", line 180, in default
o.class.name)
TypeError: Object of type 'bytes' is not JSON serializable


Can you try clearing cookies?

It's one of those issues that fix themselves after a while. It works now.

Metadata Update from @karsten:
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

This is caused by python3 differently interpreting the cookies stored by python2.
I recently pushed a commit that migrated the vagrant setup to python3, so if you were using the older vagrant setup, this might happen.

Metadata