Hi Graham, Actually, I just installed 3.4 on my servers yesterday, so I will check this out and get back to you soon.
Thanks! Jason Garber On Thu, Sep 6, 2012 at 1:41 AM, Graham Dumpleton <[email protected] > wrote: > Were you ever able to reproduce this with mod_wsgi 3.4? > > On 15 July 2012 10:32, Jason Garber <[email protected]> wrote: > > Great. Will try to reproduce first. Thanks! > > > > On Jul 14, 2012 8:30 PM, "Graham Dumpleton" <[email protected]> > > wrote: > >> > >> Can you try 3.4 from the source code repo. > >> > >> http://code.google.com/p/modwsgi/wiki/ChangesInVersion0304 > >> > >> I recollect finding some issues with Python 3.X support which may have > >> silently fixed, but don't recollect what they were. > >> > >> Graham > >> > >> On 14 July 2012 17:15, Jason Garber <[email protected]> wrote: > >> > Hi Graham, > >> > > >> > I see you are using python 2. I neglected to mention we are on Python > >> > 3.1.4. > >> > > >> > I will test with your test script and see if I can reproduce. > >> > > >> > Thanks! > >> > Jason > >> > > >> > On Jul 14, 2012 8:06 PM, "Graham Dumpleton" < > [email protected]> > >> > wrote: > >> >> > >> >> On 12 July 2012 16:45, Jason Garber <[email protected]> wrote: > >> >> > Hello, > >> >> > > >> >> > I have a very odd situation. > >> >> > > >> >> > mod_wsgi 3.3 on RHEL 5 x86_64 > >> >> > > >> >> > > >> >> > If I raise an exception in an html-generating function, it is > caught > >> >> > just > >> >> > fine by my WSGI framework with a try/except block. > >> >> > > >> >> > If I raise the exact same exception within a plain function called > >> >> > from > >> >> > the > >> >> > same place, it causes a 500 internal server error: mod_wsgi > >> >> > (pid=17007): > >> >> > Exception occurred processing WSGI script > >> >> > > >> >> > > '/home/jason/Code/WhiteBoot4/DevLevel.2/TMTManage/WSGI/Dashboard.wsgi' > >> >> > > >> >> > I can place an explicit try/except around that exact spot, and it > is > >> >> > completely skipped. It's really bizarre. Any ideas? > >> >> > > >> >> > Here is a simple example. Note that I have actually reproduced it > >> >> > with > >> >> > this > >> >> > level of simplicity. > >> >> > > >> >> > def FunctionCalledByWSGIFile(): > >> >> > try: > >> >> > RenderHTML() > >> >> > except Exception as e: > >> >> > # output error here > >> >> > ... > >> >> > > >> >> > def RenderHTML(): > >> >> > ... > >> >> > # This way works fine > >> >> > raise Exception("foo") > >> >> > ... > >> >> > # This way causes 500 internal server error > >> >> > data = Select() > >> >> > > >> >> > def Select(): > >> >> > raise Exception("foo") > >> >> > >> >> I have no problem with the following constructed based on what you > >> >> give. > >> >> > >> >> In both cases will print 'EXCEPTION foo' to log file. > >> >> > >> >> There is no 500 error as the exception is not reraised in that > example. > >> >> > >> >> Try using a blind 'except' with type and then use: > >> >> > >> >> except Exception as e: > >> >> print 'EXCEPTION', e > >> >> > >> >> except: > >> >> import traceback, sys > >> >> traceback.print_exception(*sys.exc_info()) > >> >> > >> >> to see what happens. > >> >> > >> >> Original full test script I used is: > >> >> > >> >> def FunctionCalledByWSGIFile(): > >> >> try: > >> >> RenderHTML() > >> >> except Exception as e: > >> >> print 'EXCEPTION', e > >> >> > >> >> def RenderHTML(): > >> >> # This way works fine > >> >> #raise Exception("foo") > >> >> > >> >> # This way causes 500 internal server error > >> >> data = Select() > >> >> > >> >> def Select(): > >> >> raise Exception("foo") > >> >> > >> >> def application(environ, start_response): > >> >> status = '200 OK' > >> >> output = 'Hello World!' > >> >> > >> >> response_headers = [('Content-type', 'text/plain'), > >> >> ('Content-Length', str(len(output)))] > >> >> start_response(status, response_headers) > >> >> > >> >> FunctionCalledByWSGIFile() > >> >> > >> >> return [output] > >> >> > >> >> -- > >> >> You received this message because you are subscribed to the Google > >> >> Groups > >> >> "modwsgi" group. > >> >> To post to this group, send email to [email protected]. > >> >> To unsubscribe from this group, send email to > >> >> [email protected]. > >> >> For more options, visit this group at > >> >> http://groups.google.com/group/modwsgi?hl=en. > >> >> > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "modwsgi" group. > >> > To post to this group, send email to [email protected]. > >> > To unsubscribe from this group, send email to > >> > [email protected]. > >> > For more options, visit this group at > >> > http://groups.google.com/group/modwsgi?hl=en. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "modwsgi" group. > >> To post to this group, send email to [email protected]. > >> To unsubscribe from this group, send email to > >> [email protected]. > >> For more options, visit this group at > >> http://groups.google.com/group/modwsgi?hl=en. > >> > > -- > > You received this message because you are subscribed to the Google Groups > > "modwsgi" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/modwsgi?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/modwsgi?hl=en. > > -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en.
