Dieter Maurer wrote at 2004-2-19 19:52 +0100: >We have a report for Zope 2.7 about an object magically turning >into "None" (1 or 2 weeks ago). > >A similar problem was discovered recently by a colleague. >I started analysing it today. It turned out that >objects are non-deterministically converted into "None". > >I have seen such behaviour in the past (with an old Python version). >Later, it turned out to be a memory corruption problem in this Python >version. >Memory corruption can also cause death with a core dump. > > >It is well possible that our problem is caused by >my Zope modifications or other (third party) C level extensions. >But, there might also be some lingering problem in Python2.3.3/Zope2.7.
After having looked at the Python code, I recognize the extreme low likelyhood that a memory corruption manifests itself in objects becoming "None". I was able to explain most (if not all) of our problems from harmless causes: * I had a bare "return" in a function that should return a value -- protected by a condition that is true only under very special (history dependent) circumstances. This explains the apparently non-deterministic apparent "transition" to "None". In fact, no object transitioned to "None" and the behaviour was completely deterministic. * Another family of incidents where apparently constant objects became "None" was explained by the well known "refresh" property to bind the variables in a flushed module to "None". * A third report is not yet explained but I am confident that it, too, will find an explanation without a memory corruption assumption. -- 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 )