From: Geoff T. <gta...@na...> - 2000-07-31 16:06:40
|
I'm playing around with the WebKit Error example page. The first time I load it, I get an error page with the following traceback: Traceback (innermost last): File "Application.py", line 291, in dispatchRequest self.serveURL(transaction) File "Application.py", line 347, in serveURL self.respond(transaction) File "Application.py", line 414, in respond transaction.servlet().respond(transaction) File "HTTPServlet.py", line 38, in respond method(self, trans) File "Page.py", line 35, in respondToGet self._respond(transaction) File "Page.py", line 54, in _respond self.writeHTML() File "Page.py", line 102, in writeHTML self.writeBody() File "Examples\Error.py", line 8, in writeBody import UnknownModule ImportError: No module named UnknownModule This is fine; it's what I'd expect. But after that, if I try to reload the page, I get: Traceback (innermost last): File "Application.py", line 291, in dispatchRequest self.serveURL(transaction) File "Application.py", line 346, in serveURL self.awake(transaction) File "Application.py", line 409, in awake transaction.servlet().awake(transaction) AttributeError: 'None' object has no attribute 'awake' This exception persists every time I reload the page until I restart the app server. I assume this is a bug, not by design. I'd prefer not to have to restart the appserver in order to unwedge a page that has had an exception. I'll try to fix it myself, but since I don't know the code well, any hints you can give me would be appreciated. -- - Geoff Talvola Parlance Corporation gtalvola@NameConnector.com |
From: Chuck E. <ec...@mi...> - 2000-07-31 16:18:41
|
It looks like a problem with caching. Perhaps the cache is set to None (instead of an instance of the servlet) as a result of the exception being thrown. I'm guessing that we need an extra try:except: somewhere to handle this. Jay's more familiar with that part of the code. Perhaps he knows the appropriate place. -Chuck At 12:06 PM 7/31/00 -0400, Geoff Talvola wrote: >I'm playing around with the WebKit Error example page. The first time I >load it, I get an error page with the following traceback: > >Traceback (innermost last): > File "Application.py", line 291, in dispatchRequest > self.serveURL(transaction) > File "Application.py", line 347, in serveURL > self.respond(transaction) > File "Application.py", line 414, in respond > transaction.servlet().respond(transaction) > File "HTTPServlet.py", line 38, in respond > method(self, trans) > File "Page.py", line 35, in respondToGet > self._respond(transaction) > File "Page.py", line 54, in _respond > self.writeHTML() > File "Page.py", line 102, in writeHTML > self.writeBody() > File "Examples\Error.py", line 8, in writeBody > import UnknownModule > ImportError: No module named UnknownModule > >This is fine; it's what I'd expect. But after that, if I try to reload >the page, I get: > >Traceback (innermost last): > File "Application.py", line 291, in dispatchRequest > self.serveURL(transaction) > File "Application.py", line 346, in serveURL > self.awake(transaction) > File "Application.py", line 409, in awake > transaction.servlet().awake(transaction) > AttributeError: 'None' object has no attribute 'awake' > >This exception persists every time I reload the page until I restart the >app server. > >I assume this is a bug, not by design. I'd prefer not to have to >restart the appserver in order to unwedge a page that has had an >exception. I'll try to fix it myself, but since I don't know the code >well, any hints you can give me would be appreciated. > >-- > > >- Geoff Talvola > Parlance Corporation > gtalvola@NameConnector.com > > >_______________________________________________ >Webware-discuss mailing list >Web...@li... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Jay L. <js...@js...> - 2000-07-31 22:45:17
|
OK, easy fix. I'll commit shortly, once I verify that this is the best fix, but the code is below if you need a fix now. Replace the returnInstance function of Application with this: def returnInstance(self, transaction, path): """ The only case I care about now is threadsafe=0 and reuseable=1""" cache = self._servletCacheByPath.get(path, None) if cache and cache['reuseable'] and not cache['threadsafe']: try: srv = transaction.servlet() if srv: cache['instances'].put(transaction.servlet()) #cache['instances'].put_nowait(transaction.servlet()) #print "returned Instance" return else: #error in executing servlet, drop it? cache['created'] = cache['created']-1 except Queue.Full: #full or blocked pass print '>> queue full for:',cache['path'] #do nothing, don't want to block queue for this Geoff Talvola wrote: > > I'm playing around with the WebKit Error example page. The first time I > load it, I get an error page with the following traceback: > > Traceback (innermost last): > File "Application.py", line 291, in dispatchRequest > self.serveURL(transaction) > File "Application.py", line 347, in serveURL > self.respond(transaction) > File "Application.py", line 414, in respond > transaction.servlet().respond(transaction) > File "HTTPServlet.py", line 38, in respond > method(self, trans) > File "Page.py", line 35, in respondToGet > self._respond(transaction) > File "Page.py", line 54, in _respond > self.writeHTML() > File "Page.py", line 102, in writeHTML > self.writeBody() > File "Examples\Error.py", line 8, in writeBody > import UnknownModule > ImportError: No module named UnknownModule > > This is fine; it's what I'd expect. But after that, if I try to reload > the page, I get: > > Traceback (innermost last): > File "Application.py", line 291, in dispatchRequest > self.serveURL(transaction) > File "Application.py", line 346, in serveURL > self.awake(transaction) > File "Application.py", line 409, in awake > transaction.servlet().awake(transaction) > AttributeError: 'None' object has no attribute 'awake' > > This exception persists every time I reload the page until I restart the > app server. > > I assume this is a bug, not by design. I'd prefer not to have to > restart the appserver in order to unwedge a page that has had an > exception. I'll try to fix it myself, but since I don't know the code > well, any hints you can give me would be appreciated. > > -- > > - Geoff Talvola > Parlance Corporation > gtalvola@NameConnector.com > > _______________________________________________ > Webware-discuss mailing list > Web...@li... > http://lists.sourceforge.net/mailman/listinfo/webware-discuss |