Jeff Johnson wrote: > I've seen this a few times on my test server today: > > Exception in thread SessionSweeper: > Traceback (most recent call last): > File "/usr/local/lib/python2.2/threading.py", line 408, in > __bootstrap > self.run() > File "/usr/local/lib/python2.2/threading.py", line 396, in run > apply(self.__target, self.__args, self.__kwargs) > File "./TaskKit/Task.py", line 55, in _run > File "./WebKit/Tasks/SessionTask.py", line 12, in run > File "./WebKit/SessionDynamicStore.py", line 180, in > cleanStaleSessions > File "./WebKit/SessionStore.py", line 106, in cleanStaleSessions > File "./WebKit/SessionFileStore.py", line 83, in __delitem__ > File "./WebKit/Session.py", line 84, in isExpired > AttributeError: Session instance has no attribute '_isExpired'
I have a theory. It looks like Chuck added a new attribute _isExpired to the Session object in CVS recently. It gets initialized in Session.__init__() so you would expect that attribute to always be there. But if you unpickle a session object from disk that was saved _before_ you upgraded Session.py, that attribute will be missing, because unpickling doesn't trigger __init__ to be called! This assumes you're using a recent CVS snapshot of Session.py, of course. I think that means that this bug will go away by itself once all of your old sessions have expired. But there should also be some way to fix this in the Session code itself, so when it unpickles the session it adds in the _isExpired attribute if necessary. - Geoff _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss
