Description
I have MoinMoin set up with Apache and WSGI. It has been working fine until recently, when I have noticed intermittent problems. Twice, I have updated a page, been thanked for my attention to detail – and on the same page been told that the page doesn't exist! Visiting the page again does not help, but restarting Apache does. A colleague was editing the front page and on about the fifth preview was told there was an edit conflict; looking at the conflicting versions, the "current" one was the original version of the front page before anybody had edited it! (It has been edited many times.)
Steps to reproduce
I wish I knew!
Apologies for the lack of information. I know intermittent problems are the worst to fix. I'll provide more information when I can.
Example
If/when it happens again I'll post a screen shot or something.
Component selection
- general
Details
MoinMoin Version |
1.9 |
OS and Version |
Windows Server 2003 |
Python Version |
2.6.4 |
Server Setup |
Apache 2.2 + WSGI |
Server Details |
Apache version 2.2.14 |
Language you are using the wiki in (set in the browser/UserPreferences) |
English |
Workaround
Restart Apache fixes one of the two issues (until it happens again).
Discussion
Your WSGI Version is maybe buggy or just old. You should upgrade to 3.1 (http://code.google.com/p/modwsgi/). I can also remember some bug in wsgi 2.2 or 2.3. Maybe this leads to your errors. -- MarcelHäfner 2010-02-09 12:48:09
Thanks. I'm currently using version 3.0 because I needed a precompiled version (http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py26-3.0.so) to work with Python 2.6.4. I've updated to MoinMoin 1.9.1 now, so I'll see if that fixes things. I'll also try compiling WSGI v3.1. -- RichardWiseman 2010-02-09 13:37:00
Well it sounds (here) like compiling WSGI 3.1 should be easy, but it certainly wasn't! The normal installation of Apache on Windows doesn't come with all the required header files, and the Apache source has to be compiled in order to generate some of them. Then they have to be copied elsewhere along with .lib files in order to eventually compile WSGI. So certainly not as straightforward as a single nmake command! Anyhow, the new version seems to work OK. I'll obviously mention here if the original problem recurs. Thanks again for the help Marcel. -- RichardWiseman 2010-02-09 15:09:00
I'm not sure that fixed it. I've just had another issue where I made an update, it was successfully saved but this time the displayed version was the previous one. Restarting Apache caused the right one to be displayed. Could this be WSGI caching issue? Viewing, reloading and shift-reloading the page just kept displaying the old (previous) version of it. Can I perhaps turn on debugging somehow? -- RichardWiseman 2010-02-10 09:05:00
I don't know exactly what's causing this, but I would rather suspect moin (caching or "backend" code) or windows (filesystem calls/implementation limits) than mod_wsgi. -- ThomasWaldmann 2010-02-10 11:53:30
Is there anything I can do to help track this down? Are there, for example, any files I should grab copies of if/when it happens again? (Something that may or may not be relevant: I'm pretty sure I cleared the cache yesterday, but there didn't seem to be much feedback when I used the moin ... maint cleancache command. I'd hoped it would say the caches had been cleared, or that when I looked in the data/cache directory it would basically be empty. I must confess, though, it doesn't help that I'm not really sure what caching is done in MoinMoin!) -- RichardWiseman 2010-02-10 15:17:00
The caching I was referring to is in RAM, you can't see it in the filesystem. The observed behaviour also rather looks like it is a in-memory issue, because if it would be some "damaged" file or directory, restarting the web server would not help. I guess the best thing you can do is to research how to make it happen with highest frequency, so some developer could try to reproduce it. If it is a windows issue, it would need someone developing/debugging on windows. You could also try it on Linux and see whether it happens there, too. IIRC, I did not see that bug HERE in this wiki, yet. -- ThomasWaldmann 2010-02-10 17:47:35
That makes sense. Sadly, it does appears to be one of those annoying intermittent problems that doesn't happen very often and where attempting to repeat apparently-problematic steps doesn't have the same effect! I'll see what I can discover, however, and document anything of note here. Thanks for the suggestions. -- RichardWiseman 2010-02-11 09:00:01
PS - Does everyone but me have some clever, sneaky way of inserting the current time into the DateTime macro? I tend to use Text Mode to edit pages but couldn't see a button on GUI Mode to do it!
Aha! @SIG@! -- RichardWiseman 2010-02-11 09:16:08
@DATE@, @TIME@, @TIMESTAMP@, http://master19.moinmo.in/HelpOnVariables -- EugeneSyromyatnikov 2010-02-11 09:45:04
Perhaps a memtest could clarify if your RAM is broken -- ReimarBauer 2010-02-10 21:41:10
Whilst that is a good idea, I don't have easy physical access to the server and it appears (understandably I suppose) that memory test tools only come in bootable-disk form. I'll have to see when I can create the disk and put it in the server... -- RichardWiseman 2010-02-11 09:00:01
Plan
- Priority:
- Assigned to:
- Status: