weird intermittent error with apache2 and mod_wsgi

Chris Withers <[email protected]>
Newsgroups gmane.comp.web.zope.repoze.devel,gmane.comp.python.mod_wsgi,gmane.comp.web.zope.devel
Message-ID <[email protected]>
Hi All,

Apologies for the cross post, but this problem is occurring with a 
repoze.bfg app running on apache using mod_wsgi, and the exception is 
suggesting something zope.interface related...

So, firstly, it only happens intermittently, and I haven't been able to 
figure out any pattern to the exceptions. It didn't used to happen at 
all (this app has been happily running for a year or so now) but I can't 
think of anything that's changed on the machine in question that might 
cause this. Restarting Apache does appear to cure it for a bit...

The exception is as follows:

File "aircon/bin/mod_wsgi", line 34, in <module>
   from aircon.web import make_app
File "aircon/aircon/web.py", line 2, in <module>
   from aircon.config import system,Session
File "aircon/aircon/config.py", line 1, in <module>
   from gb50 import System
File "aircon/aircon/gb50.py", line 33, in <module>
   class System:
File 
"zope.interface-3.6.1-py2.6-linux-i686.egg/zope/interface/advice.py", 
line 141, in advise
   return callback(newClass)
File 
"zope.interface-3.6.1-py2.6-linux-i686.egg/zope/interface/declarations.py", 
line 471, in _implements_advice
   classImplements(cls, *interfaces)
File 
"zope.interface-3.6.1-py2.6-linux-i686.egg/zope/interface/declarations.py", 
line 447, in classImplements
   spec = implementedBy(cls)
File 
"zope.interface-3.6.1-py2.6-linux-i686.egg/zope/interface/declarations.py", 
line 287, in implementedByFallback
   spec = cls.__dict__.get('__implemented__')
  2011] [error] [client 93.89.128.162] RuntimeError: class.__dict__ not 
accessible in restricted mode

the section of gb50.py looks like:

from aircon.interfaces import ISystem,IUnit
from zope.interface import implements

class System:

     implements(ISystem)

...

The interface is:

from zope.interface import Interface,Attribute

class ISystem(Interface):
...

Anyone seen anything like this before or have any ideas?

cheers,

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.