#2783: fcgi wrapper shouldn't report "Internal Error" on catching SystemExit
-----------------------------------------------+----------------------------
 Reporter:  [EMAIL PROTECTED]  |        Owner:  jonas
     Type:  defect                             |       Status:  new  
 Priority:  normal                             |    Milestone:       
Component:  general                            |      Version:  0.9.3
 Severity:  normal                             |   Resolution:       
 Keywords:                                     |  
-----------------------------------------------+----------------------------
Old description:

> When trac is run under FastCGI 2.4.2 (with Apache 2.2.0, Python 2.4.2),
> it sometimes prints a traceback at the bottom after rendering pages (see
> below). As far as I can tell this is harmless, it's just that the
> trac.fcgi wrapper is catching all exceptions, including !SystemExit which
> gets throw by sys.exit(). Adding a "except !SystemExit: pass" in
> trac.fcgi gets rid of the tracebacks.
> Perhaps it should check for an exitcode of 0, I'm not sure.
>
> Traceback:
> Oops...
>
> Trac detected an internal error:
>
> 0
>
> Traceback (most recent call last):
>   File "/usr/local/share/trac/cgi-bin/trac.fcgi", line 20, in ?
>     fcgi_frontend.run()
>   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
> packages/trac/web/fcgi_frontend.py", line 28, in run
>     _fcgi.Server(_handler).run()
>   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
> packages/trac/web/_fcgi.py", line 1049, in run
>     sock = self._setupSocket()
>   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
> packages/trac/web/_fcgi.py", line 994, in _setupSocket
>     req.run()
>   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
> packages/trac/web/_fcgi.py", line 580, in run
>     self._end(appStatus, protocolStatus)
>   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
> packages/trac/web/_fcgi.py", line 606, in _end
>     sys.exit(appStatus)
> SystemExit: 0

New description:

 When trac is run under FastCGI 2.4.2 (with Apache 2.2.0, Python 2.4.2), it
 sometimes prints a traceback at the bottom after rendering pages (see
 below). As far as I can tell this is harmless, it's just that the
 trac.fcgi wrapper is catching all exceptions, including !SystemExit which
 gets throw by sys.exit(). Adding a "except !SystemExit: pass" in trac.fcgi
 gets rid of the tracebacks.
 Perhaps it should check for an exitcode of 0, I'm not sure.

 Traceback:
 {{{
 Oops...

 Trac detected an internal error:

 0

 Traceback (most recent call last):
   File "/usr/local/share/trac/cgi-bin/trac.fcgi", line 20, in ?
     fcgi_frontend.run()
   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
 packages/trac/web/fcgi_frontend.py", line 28, in run
     _fcgi.Server(_handler).run()
   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
 packages/trac/web/_fcgi.py", line 1049, in run
     sock = self._setupSocket()
   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
 packages/trac/web/_fcgi.py", line 994, in _setupSocket
     req.run()
   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
 packages/trac/web/_fcgi.py", line 580, in run
     self._end(appStatus, protocolStatus)
   File "/usr/local/stow/trac-0.9.3/lib/python2.4/site-
 packages/trac/web/_fcgi.py", line 606, in _end
     sys.exit(appStatus)
 SystemExit: 0
 }}}

-- 
Ticket URL: <http://projects.edgewall.com/trac/ticket/2783>
The Trac Project <http://trac.edgewall.com/>
_______________________________________________
Trac-Tickets mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac-tickets

Reply via email to