Description
I can create a MoinMoin Wiki. I can navigate and create a new user so some permissions are correctly set up.
However, if I edit a page, I can preview it, but get a crash on saving. In this case the front page.
Here are the results of the test script
Python version 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] Python installed to c:\python PyXML is installed Python Path: c:\Moin\NikiWiki C:\WINDOWS\System32\python23.zip C:\Python\lib\site-packages\Pythonwin C:\Python\lib\site-packages\win32 C:\Python\lib\site-packages\win32\lib C:\Python\lib\site-packages c:\python\DLLs c:\python\lib c:\python\lib\plat-win c:\python\lib\lib-tk c:\python C:\Moin\Lib\site-packages data Checking directories... data directory tests OK (set to 'c:\Moin\NikiWiki\data') text directory tests OK (set to 'c:\Moin\NikiWiki\data\text') user directory tests OK (set to 'c:\Moin\NikiWiki\data\user') backup directory tests OK (set to 'c:\Moin\NikiWiki\data\backup') Server Environment: ALLUSERSPROFILE = 'C:\\Documents and Settings\\All Users' COMMONPROGRAMFILES = 'C:\\Program Files\\Common Files' COMPUTERNAME = 'LEWIE' COMSPEC = 'C:\\WINDOWS\\system32\\cmd.exe' CONTENT_LENGTH = '0' GATEWAY_INTERFACE = 'CGI/1.1' HTTPS = 'off' HTTP_ACCEPT = 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, application/x-gsarcade-launch, */*' HTTP_ACCEPT_LANGUAGE = 'en-gb' HTTP_CONNECTION = 'Keep-Alive' HTTP_HOST = 'localhost' HTTP_USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)' HTTP________________ = '----- -------' INCLUDE = 'C:\\Program Files\\Microsoft.NET\\SDK\\v1.1\\include\\;C:\\Program Files\\Microsoft Visual Studio .NET\\FrameworkSDK\\include\\' INSTANCE_ID = '1' LIB = 'C:\\Program Files\\Microsoft.NET\\SDK\\v1.1\\Lib\\;C:\\Program Files\\Microsoft Visual Studio .NET\\FrameworkSDK\\Lib\\' LOCAL_ADDR = '127.0.0.1' NUMBER_OF_PROCESSORS = '1' OS = 'Windows_NT' PATH = 'C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\Program Files\\Sonic\\MyDVD;C:\\Program Files\\Common Files\\Adaptec Shared\\System;"C:\\Program Files\\Symantec\\Norton Ghost 2003\\";C:\\Program Files\\UltraEdit' PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH' PATH_INFO = '/nikiwiki/moin.cgi' PATH_TRANSLATED = 'c:\\Moin\\NikiWiki\\moin.cgi' PROCESSOR_ARCHITECTURE = 'x86' PROCESSOR_IDENTIFIER = 'x86 Family 15 Model 2 Stepping 7, GenuineIntel' PROCESSOR_LEVEL = '15' PROCESSOR_REVISION = '0207' PROGRAMFILES = 'C:\\Program Files' QUERY_STRING = 'test' REMOTE_ADDR = '127.0.0.1' REMOTE_HOST = '127.0.0.1' REQUEST_METHOD = 'GET' SCRIPT_NAME = '/nikiwiki/moin.cgi' SERVER_NAME = 'localhost' SERVER_PORT = '80' SERVER_PORT_SECURE = '0' SERVER_PROTOCOL = 'HTTP/1.1' SERVER_SOFTWARE = 'Microsoft-IIS/5.1' SYSTEMDRIVE = 'C:' SYSTEMROOT = 'C:\\WINDOWS' TEMP = 'C:\\WINDOWS\\TEMP' TMP = 'C:\\WINDOWS\\TEMP' USERPROFILE = 'C:\\Documents and Settings\\LocalService' VS71COMNTOOLS = 'C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\' VSCOMNTOOLS = '"C:\\Program Files\\Microsoft Visual Studio .NET\\Common7\\Tools\\"' WINDIR = 'C:\\WINDOWS' Unit Tests: runTest (MoinMoin._tests.test_Page.existsTestCase) ... ok runTest (MoinMoin._tests.test_PageEditor.expand_variablesTestCase) ... ok runTest (MoinMoin._tests.test_marshal.MarshalTestCase) ... ok runTest (MoinMoin._tests.test_parser_wiki.WikiMacroTestCase) ... ok runTest (MoinMoin._tests.test_parser_wiki.PageLinkTestCase) ... ok runTest (MoinMoin._tests.test_parser_wiki.InlineMarkupTestCase) ... ok runTest (MoinMoin._tests.test_user.encodePasswordTestCase) ... ok runTest (MoinMoin._tests.test_util_mail.decodeSpamSafeEmailTestCase) ... ok runTest (MoinMoin._tests.test_util_web.makeSelectionTestCase) ... ok runTest (MoinMoin._tests.test_util_web.makeQueryStringTestCase) ... ok runTest (MoinMoin._tests.test_widget_html.CompositeElementTestCase) ... ok runTest (MoinMoin._tests.test_widget_html.RawTestCase) ... ok runTest (MoinMoin._tests.test_widget_html.EmptyElementTestCase) ... ok runTest (MoinMoin._tests.test_widget_html.AttrTestCase) ... ok runTest (MoinMoin._tests.test_widget_html.TextTestCase) ... ok runTest (MoinMoin._tests.test_wikiacl.parsingTestCase) ... ok runTest (MoinMoin._tests.test_wikimacro.NormalMacroTestCase) ... ok runTest (MoinMoin._tests.test_wikiutil.isTemplatePageTestCase) ... ok runTest (MoinMoin._tests.test_wikiutil.isFormPageTestCase) ... ok ---------------------------------------------------------------------- Ran 19 tests in 0.125s OK
As you can see, no problems.
Here is the stack trace
--> --> OSError[Errno 13] Permission denied Please include this information in your bug reports!: Python Python 2.3.3: c:\python\python.exe Platform: win32 (nt) MoinMoin Release 1.2.1 [Revision 1.184] Sat Apr 03 18:22:12 2004 A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. c:\python\Lib\site-packages\MoinMoin\request.py in run(self=<MoinMoin.request.RequestCGI instance at 0x0066AF08>) 454 else: 455 try: 456 cgitb.Hook(file=self).handle(saved_exc) 457 # was: cgitb.handler() 458 except: cgitb = <module 'MoinMoin.support.cgitb' from 'C:\Python\lib\site-packages\MoinMoin\support\cgitb.pyc'>, cgitb.Hook = <class MoinMoin.support.cgitb.Hook at 0x008A2EA0>, file undefined, self = <MoinMoin.request.RequestCGI instance at 0x0066AF08>, ).handle undefined, saved_exc = (<class exceptions.OSError at 0x005E4750>, <exceptions.OSError instance at 0x00895FD0>, <traceback object at 0x00895E40>) c:\python\Lib\site-packages\MoinMoin\wikiaction.py in do_savepage(pagename='FrontPage', request=<MoinMoin.request.RequestCGI instance at 0x0066AF08>) 687 savemsg = msg 688 except pg.SaveError, msg: 689 savemsg = msg 690 request.reset() 691 backto = request.form.get('backto', [None])[0] savemsg undefined, msg undefined c:\python\Lib\site-packages\MoinMoin\PageEditor.py in saveText(self=<MoinMoin.PageEditor.PageEditor instance at 0x00888E90>, newtext='##language:en\n#pragma section-numbers off\n\nm\n\n\n=...the database in various ways\n * SyntaxReference\n', datestamp='1076971826', **kw={'comment': '', 'notify': 0, 'stripspaces': 1}) 765 766 # write the page file 767 mtime = self._write_file(newtext) 768 if self._acl_cache.has_key(self.page_name): 769 del self._acl_cache[self.page_name] mtime undefined, self = <MoinMoin.PageEditor.PageEditor instance at 0x00888E90>, self._write_file = <bound method PageEditor._write_file of <MoinMoin.PageEditor.PageEditor instance at 0x00888E90>>, newtext = '##language:en\n#pragma section-numbers off\n\nm\n\n\n=...the database in various ways\n * SyntaxReference\n' c:\python\Lib\site-packages\MoinMoin\PageEditor.py in _write_file(self=<MoinMoin.PageEditor.PageEditor instance at 0x00888E90>, text='##language:en\n#pragma section-numbers off\n\nm\n\n\n=...the database in various ways\n * SyntaxReference\n') 674 if os.path.isfile(page_filename) and not is_deprecated and self.do_revision_backup: 675 os.rename(page_filename, os.path.join(config.backup_dir, 676 wikiutil.quoteFilename(self.page_name) + '.' + str(os.path.getmtime(page_filename)))) 677 else: 678 if os.name == 'nt': global wikiutil = <module 'MoinMoin.wikiutil' from 'C:\Python\lib\site-packages\MoinMoin\wikiutil.pyc'>, wikiutil.quoteFilename = <function quoteFilename at 0x0070DAF0>, self = <MoinMoin.PageEditor.PageEditor instance at 0x00888E90>, self.page_name = 'FrontPage', str undefined, global os = <module 'os' from 'c:\python\lib\os.pyc'>, os.path = <module 'ntpath' from 'c:\python\lib\ntpath.pyc'>, os.path.getmtime = <function getmtime at 0x00616A70>, page_filename = r'data\text\FrontPage' OSError: [Errno 13] Permission denied __doc__ = 'OS system call failed.' __getitem__ = <bound method OSError.__getitem__ of <exceptions.OSError instance at 0x00895FD0>> __init__ = <bound method OSError.__init__ of <exceptions.OSError instance at 0x00895FD0>> __module__ = 'exceptions' __str__ = <bound method OSError.__str__ of <exceptions.OSError instance at 0x00895FD0>> args = (13, 'Permission denied') errno = 13 filename = None strerror = 'Permission denied'
Example
Add URL that show the bug, screenshot or test wiki markup that fail...
Details
MoinMoin Version |
|
Discussion
This is maybe also an effect of the broken rename on win32 platform - see also the tracker entry on sourceforge. Currently nobody of moin development uses win32 for development or testing, so we made a fix for 1.2.2, but couldn't test it.
Dorian: I tried running Moin 1.2.1 on Windows Server 2003 and encountered the same problem. The file rename was failing. I wrote a test python CGI to rename a file and simulated the problem. In my case the user running the IIS process didnt have permissions to the directory where the data files were located. I opened the Moin directory up to everyone and it go past this.
Plan
- Priority:
- Assigned to: Nobody
- Will be fixed in release: 1.2.2