[Zope-dev] Re: [ZODB-Dev] Re: BTrees strangeness (was Zope 2.X
BIG Session problems - blocker - our site dies - need help
of experience Zope developer, please)
Chris McDonough
chrism at plope.com
Mon May 17 12:26:59 EDT 2004
On Mon, 2004-05-17 at 12:09, Steve Jibson wrote:
> :-(
>
> I grabbed Transience.py and TemporaryStorage.py from the Zope-2_7-branch
> of CVS this morning and dropped them onto one of our customer's systems.
> About 20 minutes later I found the following in the error_log:
>
> ----------------------------------------
> Traceback (most recent call last):
> File "c:\Zope-2.7\lib\python\ZPublisher\Publish.py", line 100, in
> publish request, bind=1)
> File "c:\Zope-2.7\lib\python\ZPublisher\mapply.py", line 88, in mapply
> if debug is not None: return debug(object,args,context)
> File "c:\Zope-2.7\lib\python\ZPublisher\Publish.py", line 40, in
> call_object
> result=apply(object,args) # Type s<cr> to step into published object.
> File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 128, in __call__
> r=apply(HTML.__call__, (self, (client, bself), REQUEST), kw)
> File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line
> 474, in __call__
> try: result = render_blocks(self._v_blocks, md)
> File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 121, in __call__
> r=apply(HTML.__call__, (self, bself, REQUEST), kw)
> File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line
> 474, in __call__
> try: result = render_blocks(self._v_blocks, md)
> File "c:\Zope-2.7\lib\python\OFS\DTMLDocument.py", line 121, in __call__
> r=apply(HTML.__call__, (self, bself, REQUEST), kw)
> File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_String.py", line
> 474, in __call__
> try: result = render_blocks(self._v_blocks, md)
> File "c:\Zope-2.7\lib\python\DocumentTemplate\DT_Util.py", line 201,
> in eval
> return eval(code, d)
> File "<string>", line 1, in <expression>
> File "c:\Zope-2.7\lib\python\AccessControl\ZopeGuards.py", line 67,
> in guarded_getitem
> v = object[index]
> File "c:\Zope-2.7\lib\python\Products\Transience\TransientObject.py",
> line 170, in __getitem__
> return self._container[k]
> KeyError: 'accountType'
> ----------------------------------------
This looks to me like an application error, not a Transience error.
> After getting the error, I changed them over to FileStorage. I haven't
> seen any errors since then. I will be more than happy to spend some
> time doing whatever I can to help track this down and/or test updates.
It looks like the code assumes 'accountType' is available in the
session; change it to not make that assumption (perhaps via
SESSION.get('accountType', 'default')).
- C
More information about the Zope-Dev
mailing list