[Zope-dev] Re: Zope2.7.0rc2 AttributeError: RESPONSE object has
noattribute 'setHeader'
Christophe Tronche
ch.tronche at computer.org
Wed Mar 24 11:17:49 EST 2004
After investigating (but not solving the problem...)
The objects are there, but some security stuff returns None instead of the
object when we aren't supposed to have the rights... (could someone tell me
what function is first called to get the value of an object such as
AUTHENTICATED_USER ???).
In my case, this has everything to do with the class inheriting from
ObjectManager and declaring security.declareObjectPrivate(). Inherited
methods such as manage_workspace can be called when you're Manager, but some
objects (AUTHENTICATED_USER and RESPONSE among others) evaluate to None (if
security is really at stake here, raising an appropriate exception may be a
better answer). And it's not very intuitive for Manager to have some closed
doors.
For now, I've removed the declareObjectPrivate to work around the problem, but
I'm not sure it's an intended behavior, in particular after having read the
CHANGES.txt.
Regards,
Ch. Tronche
On Tuesday 23 March 2004 20:36, Christophe Tronche wrote:
> Hello all.
>
> Has this problem been solved ?
> I'm stuck in the very same problem after having switched from python 2.6.2
> to 2.6.4, both using the same python2.2.3. Pure Zope, no Product other than
> my own (where not a single line of code has been modified) and no funny
> name like Tony's SYS or whatever.
>
> The problem occurs when trying to interpret
> App/dtml/manage_page_header.dtml and /OFS/dtml/main.dtml in a management
> tab.
>
> Any idea someone ?
>
> Regards,
> Ch. Tronche
>
> Thanks again for the reply Dieter,
>
> On 6 Feb 2004, at 21:14, Dieter Maurer wrote:
> > "REQUEST.RESPONSE" is set up in
> > "ZServer.HTTPServer.zhttp_handler.continue_request".
> > It should be impossible that is is "None".
>
> Agreed.
>
> > Maybe, we have a memory corruption.
> > I have seen objects magically becoming "None" in
> > Python versions with memory corruption problems (Python 2.1.1).
> >
> > --
> > Dieter
>
> Could be memory perhaps, but this is python2.3.3.
>
> > Christian Heimes wrote:
> > [...]
> >
> > And the next one:
> >
> > Python2.3.3/Zope2.70rc2/Plone2rc5.
> >
> > Exception Type
> > AttributeError
> > Exception Value
> > 'str' object has no attribute 'RESPONSE'
> >
> > [...]
> > Module Products.CMFPhoto.Photo, line 510, in clearCache
> > AttributeError: 'str' object has no attribute 'RESPONSE'
> >
> > The relevant code line is self.REQUEST.RESPONSE.setHeader(). The error
> > occured at object creation.
> >
> > Something really bad is going on!
> >
> > Christian
>
> The problem I'm having is that these are all stock Zope products from a
> Zope2.7.0rc2 release. The traceback is coming from the Zope core.
>
> Traceback (innermost last):
> ...
> Module Shared.DC.Scripts.Bindings, line 320, in
> __render_with_namespace__
> Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
> Module App.special_dtml, line 175, in _exec
> Module DocumentTemplate.DT_Util, line 201, in eval
> - __traceback_info__: RESPONSE
> Module <string>, line 0, in ?
> AttributeError: 'NoneType' object has no attribute 'setHeader'
>
> This also seems different from what Christian is reporting;
>
> > Christian Heimes wrote at 2004-2-6 23:01 +0100:
> > And the next one:
> >
> > Python2.3.3/Zope2.70rc2/Plone2rc5.
> >
> >
> > Exception Type
> > AttributeError
> > Exception Value
> > 'str' object has no attribute 'RESPONSE'
> >
> > [...]
> > Module Products.CMFPhoto.Photo, line 510, in clearCache
> > AttributeError: 'str' object has no attribute 'RESPONSE'
> >
> > The relevant code line is self.REQUEST.RESPONSE.setHeader(). The error
> > occured at object creation.
> >
> > Something really bad is going on!
>
> So, I'm still baffled by this.
>
> Many thanks to all those providing more data points. I *think* this is
> a 'Zope' thing and not a 'Tone' thing, but I've been wrong in that area
> before ;)
>
> cheers
> tone.
More information about the Zope-Dev
mailing list