Description
Following upgrade from 1.7.2 to 1.8.0, and again following upgrade from 1.8.0 to 1.8.1, I encountered the attached error and traceback. In the first case, following the 1.7.2 to 1.8.0 upgrade, the error only occurred once and even
moin ... maint cleancache
would not cause the error to recur. However, following the 1.8.0 to 1.8.1 upgrade, the error was persistent and can be reproduced.
Following upgrade from 1.8.1 to 1.8.2 the situation is even worse. See moin.error.txt for details.
Steps to reproduce
- Remove avoidance patch
- Run moin ... maint cleancache
Visit wiki FrontPage.
Example
Component selection
Exception occurs in i18n/init.py in the getText() method.
Details
MoinMoin Version |
1.8.1 |
OS and Version |
CentOS 5 |
Python Version |
2.4.3 |
Server Setup |
Stand alone internet |
Server Details |
Apache 2.2.3 |
Language you are using the wiki in (set in the browser/UserPreferences) |
en en-US en-GB |
Workaround
Apply the following patch:
--- MoinMoin/i18n/__init__.py 2008-09-27 06:27:44.000000000 -0700 +++ MoinMoin/i18n/__init__.py 2008-12-27 09:22:29.000000000 -0800 @@ -278,7 +278,10 @@ translation.formatted[key] = translated # remember it else: try: - language = languages[lang]['x-language-in-english'] + if languages: + language = languages[lang]['x-language-in-english'] + else: + language = lang dictpagename = "%sDict" % language.replace(' ', '') dicts = request.dicts if dicts.has_dict(dictpagename):
Discussion
- I just updated my wikifarm yesterday from my old 1.7.x to 1.8.2. and had the following problems:
- I also first delete everything in the /usr/lib/python2.5/site-packages/MoinMoin (just an habit; think the installer from python/moinmoin is sometimes a bit to less aggressive in removing old files)
then needed to delete the files/directories in the cache dir manualy (like sudo rm cache/* -rf ).
and removing the current underlay directory and copy fresh files from the /usr/share/moin (if you installed your moinmoin)
and the last thing was that I was working not working with the same "moinmoin user" (form my wsgi config). That's why I needed to set the correct permission (like sudo chown moinmoin:moinmoin moinmoin/ -R
and now everything is working normal
My upgrade process is very similar. The only difference is I don't rm cache/*; I run Run moin ... maint cleancache - Mark Sapiro
Update - 2009/03/01: I tried again first doing "rm -rf cache/*" and was then able to access the wiki with no exceptions. Thus, it seems that the real issue is the existing cache and "moin ... maint cleancache" is insufficient to deal with it. - Mark Sapiro
- Do you have stopped the server before you had run "moin ... maint cleancache" ?
- I did not stop the web server (Apache), but I do replace my moin.cgi with one that just serves a "down for maintenance" page. Do I need to actually stop the web server?
- Always if you call "moin ... maint cleancache" the webserver needs to be stopped (the deployment process of moin). caching is done in memeory and on file base. If you have old data in memory you can't get a new clean cache file.
I don't understand. Each MoinMoin interaction invokes a CGI process in the web server which ultimately serves a page and then terminates. Where does this persistent data exist in memory after the CGI process has terminated?
- For cgi you are right doing.
- Always if you call "moin ... maint cleancache" the webserver needs to be stopped (the deployment process of moin). caching is done in memeory and on file base. If you have old data in memory you can't get a new clean cache file.
- I did not stop the web server (Apache), but I do replace my moin.cgi with one that just serves a "down for maintenance" page. Do I need to actually stop the web server?
sounds like a duplication of MoinMoinBugs/i18n_unsubscriptable_object
Yes, it does seem that MoinMoinBugs/i18n_unsubscriptable_object reports the same problem as my original report, but the issue I have with 1.8.2 goes beyond that. See moin.error.txt.
Plan
- Priority:
- Assigned to:
Status: check added by http://hg.moinmo.in/moin/1.8/rev/1f922d6aaba6 (for a real fix, i18n subsystem should be rewritten)