Description
When I log into http://koumbit.net/wiki/, I see the following crash:
request.print_exception handler Traceback (most recent call last): File "/usr/local/lib/python2.3/site-packages/MoinMoin/request.py", line 674, in run self.args = self.setup_args() File "/usr/local/lib/python2.3/site-packages/MoinMoin/request.py", line 1049, in setup_args return self._setup_args_from_cgi_form(form) File "/usr/local/lib/python2.3/site-packages/MoinMoin/request.py", line 576, in _setup_args_from_cgi_form form = cgi.FieldStorage() File "/usr/local/lib/python2.3/cgi.py", line 517, in __init__ self.read_urlencoded() File "/usr/local/lib/python2.3/cgi.py", line 622, in read_urlencoded qs = self.fp.read(self.length) IOError: [Errno 9] Bad file descriptor
I noticed the same problems when hitting preview on any page. In fact, it might be all POSTs to the wiki that are broken. However, POSTs to other applications on the server work fine (e.g. http://bugs.koumbit.net/).
Example
URL: http://koumbit.net/wiki/UserPreferences
Details
MoinMoin Version |
1.3rc1 |
OS and Version |
Debian GNU/Linux 2.4.27 Woody |
Python Version |
Python 2.3.4 |
Server Setup and Version |
Apache 1.3.26-0woody6, using plain CGI |
Browser |
Mozilla Firefox 1.0 |
Workaround
The wiki works in standalone. I would have to setup the standalone server and then do some mod_proxy hack to redirect the requests there.
Update: I have found that restarting apache using:
apachectl stop; apachectl start
actually fixes the problem, which is completely backward for me. Restarting the server using:
/etc/init.d/apache restart
triggers the bug. Odd, i tell you. It is a post on the Mailman-Users list that gave me the idea of trying other ways to restart apache.
I have foud the problem:
# limit 100 Megs of virtual memory ulimit -v 102400
Uncommenting this line out of /etc/init.d/apache fixed my problem. Odd eh? Update: I have bumped the limit to 204800 Kb (200 megs), and moin runs now properly. -- TheAnarcat 2004-12-06 19:08:42
- very odd. Normally, -v should not limit file descriptors etc.
Discussion
- self.fd is sys.stdin normally. So stdin seems to be broken.
- it is:
<open file '<stdin>', mode 'r' at 0x4017f020>
- it is:
This is the only other reference I have found to a similar error message. Suggested solution: I found turning off the web server's performance cache fixed the problem.
This would make sense: our server is currently under heavy load and Apache might have kicked off a few caching system that change the CGI behavior. I've tried commenting the Expires, Header and Cache modules from the apache config file without any noticeable effect.
I have tried to reduce the number of characters read from the request, thinking that it was trying to read too much:
qs = self.fp.read(1)
without any luck.
-- TheAnarcat 2004-12-04 02:02:10
Plan
- Priority:
- Assigned to:
- Status: