[Zope] Problem with zsession_del_notify python script, event log transienceDestruct failed msg
Richard Ettema
richard.ettema@yoursolutions.com
Fri, 11 Jul 2003 13:19:43 +0100
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