[Zope-dev] ZPatterns bug. Very serious.

Phillip J. Eby pje@telecommunity.com
Fri, 23 Jun 2000 08:19:12 -0500


At 01:06 PM 6/23/00 +0800, mike wrote:
>
>There _IS_ a problem. Maybe _v_cachedAttr is not a guilty, but do you
>know it exists only in newly created objects and do _not_ exists in
>old?.

The attribute cache is created only when used in a transaction, so if you
retrieve a persistent object from a Rack and immediately dump its
dictionary, the cache will not exist.

>Anyway, newly created DataSkin instances return wrong REQUEST (and
>other things) but _old_ retrieved ones work good. I tell you this
>because it is impossible to obtain AUTHENTICATE_USER from fresh
>DataSkins, so things like 'manage_tabs' just do not work properly. Try
>set up Rack for any real ZClass and you see this.

I'm not currently seeing this, but the work Ty and I are doing with Racks
at present involves objects which are not actually stored in the ZODB, so
perhaps we're missing a bug with things that are stored in the ZODB, like
the last one you found.  But as far as I know, Rack.getItem() should always
return an object whose acquisition context is the Specialist.


>If you'd like I send you complete test suite reproducing the situation.

Please do.  Thanks.