Have replied to @Wasser, but here is a generic answer, in case anyone else is
wondering about IOError
s or RuntimeError
s with no traceback.
Normal errors in the error log have a full traceback. Example:
2013-07-11 13:52:41,541 :Internal Server Error: /whatever/url
Traceback (most recent call last):
File "/home/someone/.virtualenvs/django/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/home/someone/myproject/myapp/views.py", line 14, in my_view
do_something_bad_that_might_raise_an_error()
OhNoesException: something is broken
These can help you identify potential bugs in your code
The second type of error is more mysterious, because it has no traceback. Example:
2013-07-11 13:58:58,617 :IOError: write error
2013-07-11 13:58:58,618 :RuntimeError: generator ignored GeneratorExit
This suggests that it is less likely to be a bug in your code, but more likely some kind of low-level error. If you then have a look at your server log file,
/var/log/www.my-domain.com.server.log, you will see many errors that look like this:
SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request / (ip 101.101.101.101) !!!
uwsgi_response_write_headers_do(): Broken pipe [core/writer.c line 193]
IOError: write error False
RuntimeError: generator ignored GeneratorExit False
As far as we can tell these errors are harmless. Here's a discussion from the uwsgi mailing list
The server log comes from your uWSGI workers, which are the ones actually
talking to the outside world, and asking your code to respond to requests.
They are saying that they sometimes get disconnected from the client half-way
through sending a response, and then that causes an error that appears in your
error log. This isn't a problem that you can fix, but also it is probably
not one you need to worry about. Sometimes, clients disconnect, that is
something that happens every day. uWSGI is just a bit over-enthusiastic about
logging this. There is an option to switch off SIGPIPE logging in uWSGI which
we will investigate.