id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 11015,django-1.0.2 does not catch the exception that database backend first close the db connection.,qingran,nobody,"I am running django-1.0.2 by fastcgi with nginx-0.6.36. Now I found out this error {{{ message: Unhandled Exception An unhandled exception was thrown by the application. }}} And in nginx's error log I found: {{{ -------------------------------------------- 2009/05/06 01:03:21 [error] 14785#0: *290 upstream timed out (60: Operation timed out) while reading response header from upstream, client: 2.3.1.5, server: ui.zeuux.com, request: ""POST /blog/user/qingran/post/ HTTP/1.1"", upstream: ""fastcgi://unix:/var/run/fcgi.sock:"", host: ""mydomain"", referrer: ""http://ui.zeuux.com/blog/user/qingran/post/""sic/css/zeuux-com-component-editor.css HTTP/1.1"", host: ""mydomain"", referrer: ""http://mydomain/post/"" 2009/05/06 01:05:14 [error] 14785#0: *368 FastCGI sent in stderr: ""Traceback (most recent call last): File ""/usr/local/lib/python2.5/site-packages/flup-1.0.1-py2.5.egg/flup/server/fcgi_base.py"", line 558, in run protocolStatus, appStatus = self.server.handler(self) File ""/usr/local/lib/python2.5/site-packages/flup-1.0.1-py2.5.egg/flup/server/fcgi_base.py"", line 1116, in handler result = self.application(environ, start_response) File ""/usr/local/lib/python2.5/site-packages/django/core/handlers/wsgi.py"", line 246, in __call__ signals.request_finished.send(sender=self.__class__) File ""/usr/local/lib/python2.5/site-packages/django/dispatch/dispatcher.py"", line 148, in send response = receiver(signal=self, sender=sender, **named) File ""/usr/local/lib/python2.5/site-packages/django/db/__init__.py"", line 46, in close_connection connection.close() File ""/usr/local/lib/python2.5/site-packages/django/db/backends/__init__.py"", line 51, in close self.connection.close() InterfaceError: connection already closed"" while reading response header from upstream, client: 2.5.1.4, server: mydomain, request: ""POST /post/ HTTP/1.1"", upstream: ""fastcgi://unix:/var/run/fcgi.sock:"", host: ""mydomain"", referrer: ""http://mydomain/post/"" -------------------------------------------- }}} At the same time I found out that my database backend firstly closed the connection because of the network program. I think django should handle this exception by handler500, so I can give the vistor the error page. My enviorment is listed as follows: * OS: FreeBSD 6.2 release amd64 * Python 2.5.2_2 * Django 1.0.2 * Database PostgreSQL 8.3.3 * Webserver Nginx-0.6.36 ",,closed,"Database layer (models, ORM)",1.0,,duplicate,,,Unreviewed,0,0,0,0,0,0