Mmm... yep, that's a bad bit. I've applied a fix to CVS. On Mon, 2003-06-02 at 12:24, Edmund Lian wrote: > I'm working off Webware in CVS. Something has changed in the way > Application works with session IDs. > > If the browser has been sitting around for a long time and WebKit is > restarted, Application tries to retrieve a stale session object and > fails due to a KeyError: > > Traceback (most recent call last): > File "/opt/Webware/WebKit/Application.py", line 429, in > dispatchRawRequest > self.runTransaction(trans) > File "/opt/Webware/WebKit/Application.py", line 476, in runTransaction > self.runServlet(servlet, trans) > File "/opt/Webware/WebKit/Application.py", line 501, in runServlet > servlet.runTransaction(trans) > File "./WebKit/Servlet.py", line 43, in runTransaction > File "/home/elian/mefa/SiteLib/Page.py", line 169, in sleep > self.showDebugInfo() > File "/home/elian/mefa/SiteLib/Page.py", line 628, in showDebugInfo > print "DDD", self._transaction.session() > File "./WebKit/Transaction.py", line 67, in session > File "/opt/Webware/WebKit/Application.py", line 307, in > createSessionForTransaction > session = self.session(sessId) > File "/opt/Webware/WebKit/Application.py", line 275, in session > return self._sessions[sessionId] > File "./WebKit/SessionDynamicStore.py", line 74, in __getitem__ > File "./WebKit/SessionMemoryStore.py", line 33, in __getitem__ > KeyError: 20030602003014-fbebd581e95e13ee6e46ca494f376a46 > > > What is happening is that the new version of createSessionForTransaction > assumes that sessId is a valid, fresh session ID, so that it doesn't > catch the KeyError. The lines in question are marked with * > > > sessId = transaction.request().sessionId() > if debug: > print prefix, 'sessId =', sessId > * if sessId: > * session = self.session(sessId) > * if debug: print prefix, 'retrieved session =', session > * else: > * session = Session(transaction) > * self._sessions[session.identifier()] = session > * if debug: print prefix, 'created session =', session > > > I'm thinking that that following patch will fix this: > > diff -r1.171 Application.py > 306c306 > < if sessId: > --- > > try: > 309c309 > < else: > --- > > except KeyError: > > > Shall I submit this to via SourceForge? > > > ...Edmund. > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: eBay > Get office equipment for less on eBay! > http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 > _______________________________________________ > Webware-devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/webware-devel
------------------------------------------------------- This SF.net email is sponsored by: eBay Get office equipment for less on eBay! http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ Webware-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-devel