I have been running hatta for a Swedish society for a while, here: http://dialektologisallskapet.se/ I have tried other solutions previously that were too bulky for them, so it is a joy that Hatta is working out great for them - thanks!
(Editing is password-protected).
Yesterday they started getting Internal Server Errors when clicking the "Save" button after editing.
In the error.log, this appears:
mod_wsgi (pid=3101): Exception occurred processing WSGI script '/var/www/www.dialektologisallskapet.se/scripts/hatta.wsgi'.
Traceback (most recent call last):
File "/var/lib/python-support/python2.5/werkzeug/utils.py", line 1539, in <lambda>
return _patch_wrapper(f, lambda *a: f(*a)(*a[-2:]))
File "/usr/src/hatta-dev/hatta.py", line 1860, in application
return endpoint(request, **values)
File "/usr/src/hatta-dev/hatta.py", line 1320, in save
self.index_text(title, text)
File "/usr/src/hatta-dev/hatta.py", line 1270, in index_text
self.index.add_words(title, text)
File "/usr/src/hatta-dev/hatta.py", line 803, in add_words
self.index.sync()
File "/usr/lib/python2.5/shelve.py", line 155, in sync
self.dict.sync()
File "/usr/lib/python2.5/bsddb/__init__.py", line 293, in sync
return _DeadlockWrap(self.db.sync)
File "/usr/lib/python2.5/bsddb/dbutils.py", line 62, in DeadlockWrap
return function(*_args, **_kwargs)
DBRunRecoveryError: (-30975, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')I was wondering if you know why that would happen, and how to fix it?
The server is running Debian 5.0.1 (lenny, stable) with python-werkzeug 0.3.1-1 and mercurial 1.0.1-5.1. The hatta-code running is the developement-version checked out at the time where the last changeset was 237:e0a65898d6f4.
Ok, I tried running db4.6_verify on the files in hatta/cache/ and got a bunch of problems with index.words. I will try running db4.6_recover on it.
I can't figure out how to run db_recover on a single file. It only takes a directory as an argument?!
Just delete the whole cache directory and restart the wiki. It will be recreated on startup. Those are just search indexes, not real content. Sorry for the delay, I'm on a business trip and so I don't check the wiki so often.
By the way, starting with version 1.3.0 Hatta uses an sqlite database for those search indexes, instead of fragile BerkleyDB. I know that upgrading can be a pain, but it should be more stable. The current development version (will be released as 1.3.2) has quite a lot of bugs fixed, and weren't changed much since some time, so hopefully not many new bugs introduced. I just can't find the time to package a release properly.
Thanks for the reply!
I have deleted the cache, but had some problems with the menu. Editing the Menu-page and saving it seemed to fix them.
1.3: Sounds good, I will look into upgrading (I have a number of local modifications; translations to Swedish and some other stuff and Python's not my native language, but I'll give it a go).