<div dir="ltr">Hello!<div><br></div><div>I've tried editing wine FAQ and several other wiki pages, but failed. When I click on "Preview" or "Save" buttons, I always see error message like</div><div>
<p style="margin:0.5em 0px;padding:5px 10px;color:rgb(0,0,0);font-family:'bitstream vera sans',verdana,arial,helvetica,sans-serif;font-size:12px;line-height:20px">[Errno 31] Too many links: '/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup'</p>
<p style="margin:0.5em 0px;padding:5px 10px;color:rgb(0,0,0);font-family:'bitstream vera sans',verdana,arial,helvetica,sans-serif;font-size:12px;line-height:20px">If you want to report a bug, please save this page and attach it to your bug report.</p>
<p style="margin:0.5em 0px;padding:5px 10px;color:rgb(0,0,0);font-family:'bitstream vera sans',verdana,arial,helvetica,sans-serif;font-size:12px;line-height:20px"></p><div class="" style="background-color:rgb(230,234,240)">
<p style="margin:0.5em 0px;padding:5px 10px">A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.</p><ol class="" style="margin:0px;padding:0px;color:rgb(96,96,96)">
<li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/request.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/request.py</a> in <strong>run</strong> (self=<MoinMoin.request.RequestModPy object>)</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre"> 1170                          self.page.send_page(self, msg=msg)
</li><li style="margin:0.25em 0px;display:block;white-space:pre"> 1171                      else:
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black"> 1172                          handler(self.page.page_name, self)
</li><li style="margin:0.25em 0px;display:block;white-space:pre"> 1173  
</li><li style="margin:0.25em 0px;display:block;white-space:pre"> 1174              # generate page footer (actions that do not want this footer use
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><strong>handler</strong> = <function do_edit></li><li style="margin:0.25em 0px;display:inline">
<strong>self</strong> = <MoinMoin.request.RequestModPy object></li><li style="margin:0.25em 0px;display:inline">self.<strong>page</strong> = <MoinMoin.Page.Page instance></li><li style="margin:0.25em 0px;display:inline">
self.page.<strong>page_name</strong> = u'FAQ'</li></ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/wikiaction.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/wikiaction.py</a> in <strong>do_edit</strong> (pagename=u'FAQ', request=<MoinMoin.request.RequestModPy object>)</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  651          request.form.has_key('button_spellcheck') or
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  652          request.form.has_key('button_newwords')):
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  653          pg.sendEditor(preview=savetext, comment=comment)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  654      
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  655      # Preview with mode switch
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><strong>pg</strong> = <MoinMoin.PageEditor.PageEditor instance></li><li style="margin:0.25em 0px;display:inline">
pg.<strong>sendEditor</strong> = <bound method PageEditor.sendEditor of <MoinMoin.PageEditor.PageEditor instance>></li><li style="margin:0.25em 0px;display:inline">preview <em>undefined</em> </li><li style="margin:0.25em 0px;display:inline">
<strong>savetext</strong> = u"#pragma section-numbers 1<font color="#c040c0">\n</font>#language en<font color="#c040c0">\n</font>'''''Tran..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>"</li>
<li style="margin:0.25em 0px;display:inline"><strong>comment</strong> = u'Fixed shell code example with invalid redirection of stderr to stdout instead of file'</li></ul></li><li style="margin:0.25em 0px;display:block">
<p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py</a> in <strong>sendEditor</strong> (self=<MoinMoin.PageEditor.PageEditor instance>, **kw={'comment': u'Fixed shell code example with invalid redirection of stderr to stdout instead of file', 'preview': u"#pragma section-numbers 1<font color="#c040c0">\n</font>#language en<font color="#c040c0">\n</font>'''''Tran..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>"})</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  284          # Make backup on previews - but not for new empty pages
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  285          if preview and raw_body:
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  286              self._make_backup(raw_body)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  287  
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  288          # Generate default content for new pages
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><strong>self</strong> = <MoinMoin.PageEditor.PageEditor instance></li><li style="margin:0.25em 0px;display:inline">
self.<strong>_make_backup</strong> = <bound method PageEditor._make_backup of <MoinMoin.PageEditor.PageEditor instance>></li><li style="margin:0.25em 0px;display:inline"><strong>raw_body</strong> = u"#pragma section-numbers 1<font color="#c040c0">\n</font>#language en<font color="#c040c0">\n</font>'''''Tran..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>"</li>
</ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py</a> in <strong>_make_backup</strong> (self=<MoinMoin.PageEditor.PageEditor instance>, newtext=u"#pragma section-numbers 1<font color="#c040c0">\n</font>#language en<font color="#c040c0">\n</font>'''''Tran..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>", **kw={})</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  738          intro += _('## backup of page "%(pagename)s" submitted %(date)s') % {
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  739              'pagename': pagename, 'date': date,} + u'\n'
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  740          backuppage._write_file(intro + newtext)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  741          
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  742          return backuppage.url(self.request)
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><strong>backuppage</strong> = <MoinMoin.PageEditor.PageEditor instance></li>
<li style="margin:0.25em 0px;display:inline">backuppage.<strong>_write_file</strong> = <bound method PageEditor._write_file of <MoinMoin.PageEditor.PageEditor instance>></li><li style="margin:0.25em 0px;display:inline">
<strong>intro</strong> = u'#acl AlexeiRomanoff:read,write,delete All:<font color="#c040c0">\n\n</font>'</li><li style="margin:0.25em 0px;display:inline"><strong>newtext</strong> = u"#pragma section-numbers 1<font color="#c040c0">\n</font>#language en<font color="#c040c0">\n</font>'''''Tran..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>"</li>
</ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/PageEditor.py</a> in <strong>_write_file</strong> (self=<MoinMoin.PageEditor.PageEditor instance>, text=u'#acl AlexeiRomanoff:read,write,delete All:<font color="#c040c0">\n\n</font>#pra..., it can delete your entire hard drive.<font color="#c040c0">\n</font>Deleted/<font color="#c040c0">\n</font>', action='SAVE', comment=u'', extra=u'')</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  801          # The local log should be the standard edit log, not the
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  802          # underlay copy log!
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  803          pagelog = self.getPagePath('edit-log', use_underlay=0, isfile=1)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  804          llog = editlog.EditLog(self.request, filename=pagelog,
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  805                                 uid_override=self.uid_override)
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline">pagelog <em>undefined</em> </li><li style="margin:0.25em 0px;display:inline"><strong>self</strong> = <MoinMoin.PageEditor.PageEditor instance></li>
<li style="margin:0.25em 0px;display:inline">self.<strong>getPagePath</strong> = <bound method PageEditor.getPagePath of <MoinMoin.PageEditor.PageEditor instance>></li><li style="margin:0.25em 0px;display:inline">
use_underlay <em>undefined</em> </li><li style="margin:0.25em 0px;display:inline">isfile <em>undefined</em></li></ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black">
<a href="file:///usr/lib/python2.4/site-packages/MoinMoin/Page.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/Page.py</a> in <strong>getPagePath</strong> (self=<MoinMoin.PageEditor.PageEditor instance>, *args=('edit-log',), **kw={'isfile': 1, 'use_underlay': 0})</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  348          """Return path to the page storage area."""
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  349  
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  350          return self.getPageStatus(*args, **kw)[1]
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  351  
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  352      def split_title(self, request, force=0):
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><strong>self</strong> = <MoinMoin.PageEditor.PageEditor instance></li><li style="margin:0.25em 0px;display:inline">
self.<strong>getPageStatus</strong> = <bound method PageEditor.getPageStatus of <MoinMoin.PageEditor.PageEditor instance>></li><li style="margin:0.25em 0px;display:inline"><strong>args</strong> = ('edit-log',)</li>
<li style="margin:0.25em 0px;display:inline"><strong>kw</strong> = {'isfile': 1, 'use_underlay': 0}</li></ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black">
<a href="file:///usr/lib/python2.4/site-packages/MoinMoin/Page.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/Page.py</a> in <strong>getPageStatus</strong> (self=<MoinMoin.PageEditor.PageEditor instance>, *args=('edit-log',), **kw={'isfile': 1, 'use_underlay': 0})</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">  342                  dirname = fullpath
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  343              if not os.path.exists(dirname):
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">  344                  filesys.makeDirs(dirname)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  345          return underlay, fullpath
</li><li style="margin:0.25em 0px;display:block;white-space:pre">  346  
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><em>global</em> <strong>filesys</strong> = <module 'MoinMoin.util.filesys' from '/usr/lib/python2.4/site-packages/MoinMoin/util/filesys.pyc'></li>
<li style="margin:0.25em 0px;display:inline">filesys.<strong>makeDirs</strong> = <function makedirs></li><li style="margin:0.25em 0px;display:inline"><strong>dirname</strong> = '/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup'</li>
</ul></li><li style="margin:0.25em 0px;display:block"><p class="" style="margin:0.5em 0px;padding:5px 10px;background-color:rgb(163,180,204);color:black"><a href="file:///usr/lib/python2.4/site-packages/MoinMoin/util/filesys.py" style="color:rgb(255,0,0);border:0px">/usr/lib/python2.4/site-packages/MoinMoin/util/filesys.py</a> in <strong>makedirs</strong> (name='/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup', mode=511)</p>
<ol class="" style="margin:0px;padding:0px;font-family:monospace"><li style="margin:0.25em 0px;display:block;white-space:pre">   49              return
</li><li style="margin:0.25em 0px;display:block;white-space:pre">   50      try:
</li><li class="" style="margin:0.25em 0px;display:block;white-space:pre;background-color:rgb(192,211,240);color:black">   51          os.mkdir(name, mode & config.umask)
</li><li style="margin:0.25em 0px;display:block;white-space:pre">   52      except OSError, err:
</li><li style="margin:0.25em 0px;display:block;white-space:pre">   53          if err.errno != errno.EEXIST:
</li></ol><ul class="" style="padding:5px 10px;margin:10px 0px 10px 30px;font-family:monospace"><li style="margin:0.25em 0px;display:inline"><em>global</em> <strong>os</strong> = <module 'os' from '/usr/lib/python2.4/os.pyc'></li>
<li style="margin:0.25em 0px;display:inline">os.<strong>mkdir</strong> = <built-in function mkdir></li><li style="margin:0.25em 0px;display:inline"><strong>name</strong> = '/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup'</li>
<li style="margin:0.25em 0px;display:inline"><strong>mode</strong> = 511</li><li style="margin:0.25em 0px;display:inline"><em>global</em> <strong>config</strong> = <module 'MoinMoin.config' from '/usr/lib/python2.4/site-packages/MoinMoin/config.pyc'></li>
<li style="margin:0.25em 0px;display:inline">config.<strong>umask</strong> = 504</li></ul></li></ol><div class="" style="border:1px solid rgb(77,97,128);margin:10px"><h3 style="margin:0px;padding:5px 10px;color:white;line-height:1.2em;font-size:1em;background-color:rgb(77,97,128)">
OSError</h3><p style="margin:0.5em 0px;padding:5px 10px">[Errno 31] Too many links: '/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup'</p><ul style="padding:0px 10px;margin:10px 0px 10px 30px;font-family:monospace">
<li style="margin:0.25em 0px;display:block">args = (31, 'Too many links')</li><li style="margin:0.25em 0px;display:block">errno = 31</li><li style="margin:0.25em 0px;display:block">filename = '/var/www/wine/wiki/data/pages/AlexeiRomanoff(2f)MoinEditorBackup'</li>
<li style="margin:0.25em 0px;display:block">strerror = 'Too many links'</li><div><br></div></ul></div></div><p></p></div><div><div><div><br></div><div><br></div><div style>It seems, something wrong happened at server side with MoinMoin. But how could be possible to contribute, if wiki isn't editable?</div>
<div style>I haven't found any specific mailing list or forum for wiki editors  and decided to write here.</div><div style><br></div>-- <br>Best regards,<br>Alexei Romanoff<br>software developer, Melesta
</div></div></div>