scragg0x / realms-wiki

Git based wiki inspired by Gollum
http://realms.io
GNU General Public License v2.0
831 stars 90 forks source link

500 error in _history when wiki has no pages #21

Closed Eijebong closed 9 years ago

Eijebong commented 9 years ago

Hi, as said in the title, i got a 500 error in the history when the wiki is empty.

Here is the traceback message in my logs.

Sep 27 15:36:27 bananium realms-wiki[24223]: KeyError: 'HEAD'
Sep 27 15:36:27 bananium realms-wiki[24223]: raise KeyError(name)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/dulwich/refs.py", line 223, in __getitem__
Sep 27 15:36:27 bananium realms-wiki[24223]: return self.refs['HEAD']
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/dulwich/repo.py", line 306, in head
Sep 27 15:36:27 bananium realms-wiki[24223]: include = [self.head()]
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/dulwich/repo.py", line 427, in get_walker
Sep 27 15:36:27 bananium realms-wiki[24223]: walker = self.repo.get_walker(paths=[file_path], max_entries=100)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/realms/modules/wiki/models.py", line 181, in get_history
Sep 27 15:36:27 bananium realms-wiki[24223]: return render_template('wiki/history.html', name=name, history=wiki.get_history(name))
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/realms/modules/wiki/views.py", line 48, in history
Sep 27 15:36:27 bananium realms-wiki[24223]: return self.view_functions[rule.endpoint](**req.view_args)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
Sep 27 15:36:27 bananium realms-wiki[24223]: rv = self.dispatch_request()
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
Sep 27 15:36:27 bananium realms-wiki[24223]: reraise(exc_type, exc_value, tb)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
Sep 27 15:36:27 bananium realms-wiki[24223]: rv = self.handle_user_exception(e)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
Sep 27 15:36:27 bananium realms-wiki[24223]: response = self.full_dispatch_request()
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
Sep 27 15:36:27 bananium realms-wiki[24223]: reraise(exc_type, exc_value, tb)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
Sep 27 15:36:27 bananium realms-wiki[24223]: response = self.make_response(self.handle_exception(e))
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
Sep 27 15:36:27 bananium realms-wiki[24223]: return self.wsgi_app(environ, start_response)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
Sep 27 15:36:27 bananium realms-wiki[24223]: return super(Application, self).__call__(environ, start_response)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/realms/__init__.py", line 48, in __call__
Sep 27 15:36:27 bananium realms-wiki[24223]: self.result = self.application(self.environ, self.start_response)
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/gevent/pywsgi.py", line 494, in run_application
Sep 27 15:36:27 bananium realms-wiki[24223]: self.run_application()
Sep 27 15:36:27 bananium realms-wiki[24223]: File "/home/wiki/realms-wiki/.venv/lib/python2.7/site-packages/gevent/pywsgi.py", line 508, in handle_one_respons
Sep 27 15:36:27 bananium realms-wiki[24223]: Traceback (most recent call last):
scragg0x commented 9 years ago

Did you delete the wiki while the server was running?

Eijebong commented 9 years ago

I don't remember doing so. I'll try to reproduce tomorrow.

scragg0x commented 9 years ago

This shouldn't happen again, each request will ensure the wiki has been initialized.