[Zope-dev] Zope2.7.0rc2 AttributeError: 'NoneType' object has noattribute 'setHeader'
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 , 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. -- Dr Tony McDonald, Asst Director, FMSC. 0191 245 4223 Project Manager, FDTL-4 ePortfolios http://www.eportfolios.ac.uk/ ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Zope2.7.0rc2 AttributeError: 'NoneType' object has noattribute 'setHeader'
On Mon, 9 Feb 2004, Lennart Regebro wrote: > From: "Dieter Maurer" <[EMAIL PROTECTED]> > > Maybe, we have a memory corruption. > > I have seen objects magically becoming "None" in > > Python versions with memory corruption problems (Python 2.1.1). > > Also, loads of objects can become None when you do a refresh, because of > some strange bug in the refresh support that has been there since it got > integrated into the core and which nobody seems to understand. It's actually a behavior of Python itself. When Zope's Refresh calls Python's reload() builtin, reload() twiddles the old functions and methods in such a way that all old globals are set to None. If you have the misfortune of calling an old function or method, it's likely to fail in the manner Dieter described. It is not memory corruption. It is the intended behavior. Therefore, reload() only works if you can reliably sever all references to functions or methods in the old module. Zapping the ZODB cache accomplishes most of that, but there are still cases that bite people. I think the only way to make Refresh work reliably is to create a special kind of module that's explicitly refreshable. The module would obey some special rules. Fortunately, that's just what Zope 3's persistent modules will do. For now, you just have to be aware that Refresh is designed only for simple products that do not create or use module-level registries. Shane ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Zope2.7.0rc2 AttributeError: 'NoneType' object has noattribute 'setHeader'
Lennart Regebro wrote at 2004-2-9 11:04 +0100: >From: "Dieter Maurer" <[EMAIL PROTECTED]> >> ... objects turned into None ... > >Also, loads of objects can become None when you do a refresh, because of >some strange bug in the refresh support that has been there since it got >integrated into the core and which nobody seems to understand. I think I understand it. When Python delete a module it lets the objects in the module become None. Refresh works by deleting the product modules from "sys.modules" and then forcing the ZODB caches to be reset when a ZODB connection is opened the next time. This "turning into None" is not unintelligent. Without it, you could use an old and no longer current object without noticing it... -- Dieter ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Zope2.7.0rc2 AttributeError: 'NoneType' object has noattribute 'setHeader'
On Mon, Feb 09, 2004 at 11:04:21AM +0100, Lennart Regebro wrote: > From: "Dieter Maurer" <[EMAIL PROTECTED]> > > Maybe, we have a memory corruption. > > I have seen objects magically becoming "None" in > > Python versions with memory corruption problems (Python 2.1.1). > > Also, loads of objects can become None when you do a refresh, because of > some strange bug in the refresh support that has been there since it got > integrated into the core and which nobody seems to understand. Ugh, yes, I got bit badly by that one with a product that was on auto-refresh. A restart would *sometimes* fix the problem for a day or a month or five minutes. Maddening. -- Paul Winkler http://www.slinkp.com Look! Up in the sky! It's NANO DAEMON FUNGUS! (random hero from isometric.spaceninja.com) ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] Zope2.7.0rc2 AttributeError: 'NoneType' object has noattribute 'setHeader'
From: "Dieter Maurer" <[EMAIL PROTECTED]> > Maybe, we have a memory corruption. > I have seen objects magically becoming "None" in > Python versions with memory corruption problems (Python 2.1.1). Also, loads of objects can become None when you do a refresh, because of some strange bug in the refresh support that has been there since it got integrated into the core and which nobody seems to understand. But I guess that's not the case here, because that problem would go away when you restart the server. ___ Zope-Dev maillist - [EMAIL PROTECTED] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )