Thanks for the reply Dieter. Have included a bit more information about how I am accessing the session data and a bit more of the event log below.
From LowConflictConnection.py how would the session object being passed be None (or the objects attr _storage?)? And how do I track it to find the problem? ... (Object: sessionCleanUp) File Script (Python), line 8, in sessionCleanUp File
/usr/local/zope/2.5.1/lib/python/Products/TemporaryFolder/LowConfl ictConnect
ion.py, line 34, in setstate AttributeError: 'None' object has no attribute 'load'
It's not the session object which is None. It's the "self._storage", the storage associated with the connection. This means, the connection is currently closed.
I cannot tell you how this can happen.
I expect you do not use your own threads and you do not put persistent objects in global caches. These are known causes for accessing closed connections.
I am using the standard Session Data Manager that comes with zope 2.5.1 and storing information such as counts for pages visited. This is done by a python script with: ... session = context.session_data_manager.getSessionData() sess = session.get('sess', {}) #info stored in a dict #create count entry in dict if not present if not sess.has_key( 'count' ): sess['count'] = [ page_id ] # a list of page ids #if count entry exists, just append page id if not already added elif session['count'].count( page_id ) == 0: sess['count'].append( page_id ) #save everything back into the session session.set('sess', sess) ... This session information is then pulled out and stored into mysql by a python script as the sessions expire. The event log also has regular entries for Conflict Errors and BeforeTraverse Errors, is there some connection between these 3 regular event messages that makes sense to someone else in what I should be looking at as the cause? Event log entry... ------ 2003-07-10T18:13:06 INFO(0) ZODB conflict error at /VirtualHostBase/http/192.168.43.10:80/classifieds/classified_list ------ 2003-07-10T18:16:55 INFO(0) ZODB conflict error at /VirtualHostBase/http/192.168.43.10:80/Members/test/10507898/vi ------ 2003-07-10T18:17:15 INFO(0) ZODB conflict error at /VirtualHostBase/http/192.168.43.10:80/Members/test/10507898/vi ------ 2003-07-10T18:17:15 INFO(0) ZODB conflict error at /VirtualHostBase/http/192.168.43.10:80/classifieds/clothing_list ------ 2003-07-10T18:18:25 PROBLEM(100) Transience notifyDestruct failed when calling /GENERIC/sessionCleanUp in /temp_folder/s Traceback (innermost last): File /usr/local/zope/2.5.1/lib/python/Products/Transience/Transience.py, line 283, in _notify (Object: session_data) File /usr/local/zope/2.5.1/lib/python/Shared/DC/Scripts/Bindings.py, line 252, in __call__ (Object: sessionCleanUp) File /usr/local/zope/2.5.1/lib/python/Shared/DC/Scripts/Bindings.py, line 283, in _bindAndExec (Object: sessionCleanUp) File /usr/local/zope/2.5.1/lib/python/Products/PythonScripts/PythonScript.py, line 302, in _exec (Object: sessionCleanUp) File Script (Python), line 8, in sessionCleanUp File /usr/local/zope/2.5.1/lib/python/Products/TemporaryFolder/LowConflictConnect ion.py, line 34, in setstate AttributeError: 'None' object has no attribute 'load' ------ 2003-07-10T18:18:33 INFO(0) ZODB conflict error at /VirtualHostBase/http/192.168.43.10:80/Members/bob/1043102 ------ 2003-07-10T19:10:49 ERROR(200) BeforeTraverse Error while invoking hook: "cookie_authentication" Traceback (innermost last): File /usr/local/zope/2.5.1/lib/python/ZPublisher/BeforeTraverse.py, line 133, in __call__ TypeError: __call__() takes exactly 3 arguments (4 given) ------ 2003-07-10T19:10:49 ERROR(200) BeforeTraverse Error while invoking hook: "cookie_authentication" Traceback (innermost last): File /usr/local/zope/2.5.1/lib/python/ZPublisher/BeforeTraverse.py, line 133, in __call__ TypeError: __call__() takes exactly 3 arguments (4 given) ...
Dieter
Thanks for your help. Richard. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.493 / Virus Database: 292 - Release Date: 25/06/03