What could be causing this error:
$ sudo tail -n 100 /var/log/apache2/error.log'
[Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] mod_wsgi (pid=20343): Exception occurred processing WSGI script '/home/username/public_html/idm.wsgi'. [Wed Dec 29 15:20:03 2010] [error] [client 220.181.108.181] IOError: failed to write data
Here is the WSGI script:
$ cat public_html/idm.wsgi import os import sys sys.path.append('/home/username/public_html/IDM_app/') os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
Why would Django not be able to write data?
I'm running Django 1.2.4
That error, without any sort of Python traceback, may be a variation on issue described in:
http://code.google.com/p/modwsgi/issues/detail?id=29&can=1
That is, occurs when HTTP client connection is lost before the full response could be written back by the web server. It can manifest as 'client closed connection', 'failed to write data' or 'failed to flush data' IOError in Apache error log only. Ie., not seen by WSGI applicaton because the writing of data is occurring after WSGI application has returned and so can't throw exception back to the application to do anything with.
The question is whether you get an error message from Django if you configure errors to be sent to you in email. If you do, then instead is something happening in Django.
I have the same problem in an application that uses a lot of AJAX calls (mod_wsgi 3.3). Is there any known solution for this? I thought about just ignoring the exception, but that is normally not a very good idea.
UPDATE
Actually, this can be due to several things, but the most probable cause is that you are using the write
callback instead of yield
ing your output.
I believe this will help:
http://groups.google.com/group/modwsgi/browse_thread/thread/c9cc1307bc10cfff
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With