Zope Session error (has: Unidentified Zope error)
Hi ! I get the error message again in Zope 2.7.1. Seems to be session error. Sessionmanager is say that "neworexisiting" key is not found, and make errors in transience module. The event.log is say that: 2004-07-20T16:32:35 ERROR(200) ZODB Couldn't load state for 0000000000000e80 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 562, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 607, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 881, in __setstate__ new_slices = getTimeslices( AttributeError: _period ------ 2004-07-20T16:32:35 ERROR(200) ZODB Couldn't load state for 0000000000000e80 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 562, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 607, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 881, in __setstate__ new_slices = getTimeslices( AttributeError: _period ------ 2004-07-20T16:32:35 ERROR(200) ZODB Couldn't load state for 0000000000000e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 562, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 607, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 881, in __setstate__ new_slices = getTimeslices( AttributeError: _period When I try to change server to 2.7.3.b, it is drop another errors: 2004-10-01T17:30:30 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:31 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:31 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:31 ERROR(200) SiteError http://kepes/manage_findResult Traceback (most recent call last): File "c:\zope\lib\python\ZPublisher\Publish.py", line 101, in publish request, bind=1) File "c:\zope\lib\python\ZPublisher\mapply.py", line 88, in mapply if debug is not None: return debug(object,args,context) File "c:\zope\lib\python\ZPublisher\Publish.py", line 39, in call_object result=apply(object,args) # Type s<cr> to step into published object. File "c:\zope\lib\python\Shared\DC\Scripts\Bindings.py", line 306, in __call__ return self._bindAndExec(args, kw, None) File "c:\zope\lib\python\Shared\DC\Scripts\Bindings.py", line 343, in _bindAndExec return self._exec(bound_data, args, kw) File "c:\zope\lib\python\App\special_dtml.py", line 175, in _exec try: result = render_blocks(self._v_blocks, ns) File "c:\zope\lib\python\DocumentTemplate\DT_With.py", line 61, in render else: v=expr(md) File "c:\zope\lib\python\DocumentTemplate\DT_Util.py", line 198, in eval return eval(code, d) File "<string>", line 0, in ? File "c:\zope\lib\python\OFS\FindSupport.py", line 151, in ZopeFind REQUEST, result, sub_p) File "c:\zope\lib\python\OFS\FindSupport.py", line 151, in ZopeFind REQUEST, result, sub_p) File "c:\zope\lib\python\OFS\FindSupport.py", line 138, in ZopeFind is_zclass = getattr(bs, 'meta_type', None) == 'Z Class' File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:49 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:49 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:49 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' ------ 2004-10-01T17:30:49 ERROR(200) SiteError http://kepes/manage_findResult Traceback (most recent call last): File "c:\zope\lib\python\ZPublisher\Publish.py", line 101, in publish request, bind=1) File "c:\zope\lib\python\ZPublisher\mapply.py", line 88, in mapply if debug is not None: return debug(object,args,context) File "c:\zope\lib\python\ZPublisher\Publish.py", line 39, in call_object result=apply(object,args) # Type s<cr> to step into published object. File "c:\zope\lib\python\Shared\DC\Scripts\Bindings.py", line 306, in __call__ return self._bindAndExec(args, kw, None) File "c:\zope\lib\python\Shared\DC\Scripts\Bindings.py", line 343, in _bindAndExec return self._exec(bound_data, args, kw) File "c:\zope\lib\python\App\special_dtml.py", line 175, in _exec try: result = render_blocks(self._v_blocks, ns) File "c:\zope\lib\python\DocumentTemplate\DT_With.py", line 61, in render else: v=expr(md) File "c:\zope\lib\python\DocumentTemplate\DT_Util.py", line 198, in eval return eval(code, d) File "<string>", line 0, in ? File "c:\zope\lib\python\OFS\FindSupport.py", line 151, in ZopeFind REQUEST, result, sub_p) File "c:\zope\lib\python\OFS\FindSupport.py", line 151, in ZopeFind REQUEST, result, sub_p) File "c:\zope\lib\python\OFS\FindSupport.py", line 138, in ZopeFind is_zclass = getattr(bs, 'meta_type', None) == 'Z Class' File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length' So: I not get that problem when I working with my local server, and I use Mozilla. But when I try to show anything to my boss with his IE, the Zope is "crashed". I say crashed, because I must restart it to work it again... (And the too many computer user use IE... :-( ) The 2.7.3b is buggy, so I don't have any chance, only downgrade. Please help me: Is the 2.6.4, or 2.6.3 is have this problem ? Is 2.6.4RC2 working good ? I must downgrade, but I don't know, what the version I choose to eliminate these session errors. Thanx for help: ft
kepes.krisztian wrote at 2004-10-4 09:24 +0200:
... 2004-07-20T16:32:35 ERROR(200) ZODB Couldn't load state for 0000000000000e80 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 562, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 607, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 881, in __setstate__ new_slices = getTimeslices( AttributeError: _period
I know this problem when I have an inconsistency between our own "Transience" implementation or the stock "Transience" implementation on which it builds. Almost surely, this is not the reason for you. But maybe, you, too, have either a code or code/data inconsistency? Did you make a clean install of "Transience"? Do your session data lives in a RAM storage (default) or in a FileStorage?
... When I try to change server to 2.7.3.b, it is drop another errors:
2004-10-01T17:30:30 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length'
Apparently, your session data lives in a long living storage (not RAMStorage) and the session pickles there lack some information which is not relevant. Shut your Zope down and discard all existing session data. -- Dieter
Hi Dieter ! Dieter Maurer wrote:
kepes.krisztian wrote at 2004-10-4 09:24 +0200:
... 2004-07-20T16:32:35 ERROR(200) ZODB Couldn't load state for 0000000000000e80 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 562, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 607, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 881, in __setstate__ new_slices = getTimeslices( AttributeError: _period
I know this problem when I have an inconsistency between our own "Transience" implementation or the stock "Transience" implementation on which it builds.
Sorry, but I didn't understand, what you wrote about. I do that: I install zope 2.7.1 in window xp, and I use it. And I install 2.7.x (?) in debian linux (compile), and I use it. Every installer is came from zope.org. I use these products: External Editor, KinterbasdbDA, and my owned product. No one of these products are used by session. So: session. When I log in to server, I put 8 items to session, and I read them in every request. I don't store anything else in session, I use my websessionstore table to exchange datas. This code in 2.6.3 is working good. And it is working good with my localhost (Mozilla, IE, etc). The problem is get when I want to show the page to my boss, and his IE is crashing my zope with these session errors. But I'm the man who not like the non-repeatable errors. If a component or program drop an errors, I never trust in it again. If I get this problem with boss-IE, possible (may be) I get this error with another IE (the program users are many). So how to I trust in Zope 2.7.x ? Yesterday I try to downgrade, but the 2.6.4 have a problem with kinterbasdbda, and I cannot do that.
Almost surely, this is not the reason for you.
Not the reason, or not reasonable for me ? :-) (Yes, these errors are not reasonable for me !)
But maybe, you, too, have either a code or code/data inconsistency?
What do you think when you write this ?
Did you make a clean install of "Transience"?
I use zope's windows installer. In debian I compile with setup. (In debian I don't see this problem, only in my developer machine (win). But if is exists in win, may be exists in debian !).
Do your session data lives in a RAM storage (default) or in a FileStorage?
Yes, I use RAM storage. How to I use file storage ? Please help me: how to I install, or where I found this product ?
... When I try to change server to 2.7.3.b, it is drop another errors:
2004-10-01T17:30:30 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length'
Apparently, your session data lives in a long living storage (not RAMStorage) and the session pickles there lack some information which is not relevant.
2..7.3b is a trying. It is drop this error, when I try to find something in the zope man. intf. So not that the main problem.
Shut your Zope down and discard all existing session data.
Ahhh... But it is not too good. Many user working with zope system. If anyone make this error, all user are pushed out, because RAM st. is cleared, so they are must be login again to continue work... Thanx: KK
On Tue, 2004-10-05 at 06:03, kepes.krisztian wrote:
So: session. When I log in to server, I put 8 items to session, and I read them in every request. I don't store anything else in session, I use my websessionstore table to exchange datas.
This code in 2.6.3 is working good. And it is working good with my localhost (Mozilla, IE, etc).
The problem is get when I want to show the page to my boss, and his IE is crashing my zope with these session errors.
Yup. Sessioning in 2.6.3 is broken.
But I'm the man who not like the non-repeatable errors. If a component or program drop an errors, I never trust in it again.
If I get this problem with boss-IE, possible (may be) I get this error with another IE (the program users are many). So how to I trust in Zope 2.7.x ?
Sessioning was rewritten in 2.7.3. See http://www.plope.com/Members/chrism/sessioning_redux
Yesterday I try to downgrade, but the 2.6.4 have a problem with kinterbasdbda, and I cannot do that.
Donwgrading won't fix any sessioning issues.
Almost surely, this is not the reason for you.
Not the reason, or not reasonable for me ? :-) (Yes, these errors are not reasonable for me !)
But maybe, you, too, have either a code or code/data inconsistency?
What do you think when you write this ?
Did you make a clean install of "Transience"?
I use zope's windows installer. In debian I compile with setup. (In debian I don't see this problem, only in my developer machine (win). But if is exists in win, may be exists in debian !).
It's unclear how you actually install things... the only release of Zope at this time with sessioning that seems to work reliably under high load is 2.7.3b1. That must be compiled from source at this point on UNIX; a Windows installer also exists for it.
Do your session data lives in a RAM storage (default) or in a FileStorage?
Yes, I use RAM storage. How to I use file storage ? Please help me: how to I install, or where I found this product ?
You needn't install anything. Using the "default" sessioning setup (data stored in /temp_folder/session_data_container) is the right thing to do. The errors you post makes it sound like you're doing something different. Are you?
... When I try to change server to 2.7.3.b, it is drop another errors:
2004-10-01T17:30:30 ERROR(200) ZODB Couldn't load state for 0x0e44 Traceback (most recent call last): File "c:\zope\lib\python\ZODB\Connection.py", line 600, in setstate self._set_ghost_state(obj, p) File "c:\zope\lib\python\ZODB\Connection.py", line 645, in _set_ghost_state setstate(state) File "c:\zope\lib\python\Products\Transience\Transience.py", line 977, in __setstate__ oldlength = state['_length'] KeyError: '_length'
I'd like to say that this error surprises me, but it doesn't all that much; I didn't have time to test upgrading old session data from all existing Zope versions. What is the value of "Transient Object Container Path" in your /session_data_manager object? Whatever it is, if you can delete the object it points to (a "transient object container") and recreate it in the same place, things should begin to work.
Apparently, your session data lives in a long living storage (not RAMStorage) and the session pickles there lack some information which is not relevant.
2..7.3b is a trying. It is drop this error, when I try to find something in the zope man. intf. So not that the main problem.
I have no idea what that means, sorry.
Shut your Zope down and discard all existing session data.
Ahhh... But it is not too good. Many user working with zope system. If anyone make this error, all user are pushed out, because RAM st. is cleared, so they are must be login again to continue work...
Do it just once under 2.7.3b1 and you shouldn't need to do it again unless you downgrade again. - C
kepes.krisztian wrote at 2004-10-5 12:03 +0200:
....
in __setstate__ new_slices = getTimeslices( AttributeError: _period ... I do that: I install zope 2.7.1 in window xp, and I use it. And I install 2.7.x (?) in debian linux (compile), and I use it. Every installer is came from zope.org.
Thus, you are sure that you have clean installs -- no parts left from an older installation?
... The problem is get when I want to show the page to my boss, and his IE is crashing my zope with these session errors.
The problems you reported do not look like IE problems. They look like problems in the session code -- unfortunately, very strange problems. I could understand part of the problems when your sessions were in "FileStorage" but apparently, this is not the case. -- Dieter
participants (3)
-
Chris McDonough -
Dieter Maurer -
kepes.krisztian