[ZODB-Dev] Cannot import name utils + class.__dict__ not accessible

Jose Benito Gonzalez Lopez jose.benito.gonzalez at cern.ch
Mon Jun 22 11:05:46 EDT 2009


Dear Chris,

Thank you so much for your answer.
We have realized that it was due to mod_python module. We do
not know why but adding the directive:

PythonInterpreter main_interpreter

in the httpd.conf has fixed the problem.

So, I am so sorry for the spam. Nothing to do with ZODB.

Best regards,
Jose

Chris McDonough wrote:
> I'm not sure of the exact cause of this error, but I'll note that one your 
> deployment looks like it's using the "slow" (non-C) versions of the stuff in 
> zope.interface, which usually means that somehow the zope.interface C extensions 
> couldn't be compiled.  You might try checking this from a debug prompt:
>
> It should look like this:
>
>  >>> from zope.interface import implementedBy
>  >>> implementedBy
> <built-in function implementedBy>
>
> You're not using the C extensions if it looks something like this instead:
>
>  >>> from zope.interface import implementedBy
>  >>> implementedBy
> <function implementedBy at 0x51cf70>
>
> I'd start by getting that fixed if possible.
>
> - C
>
> On 6/15/09 9:33 AM, Jose Benito Gonzalez Lopez wrote:
>   
>> Dear ZODB developers,
>>
>> We are experiencing some errors and we'd appreciate any idea or advise.
>>
>> Our web application (http://indicodemo.cern.ch) uses ZODB:
>> - ZODB 3.4 in production
>> - and ZODB 3.8.0 for testing.
>> Both versions work smoothly.
>>
>> Now, we are moving to ZODB3 3.8.1 (in a fresh installation of the web
>> appl.). The installation was fine
>> but while navigating through the website, we get the following errors
>> randomly:
>>
>> <error1>
>> ...
>> [..]   File "/usr/lib64/python2.4/site-packages/ZEO/ClientStorage.py",
>> line 34, in ?\n    from ZEO.cache import ClientCache
>> [..]   File "/usr/lib64/python2.4/site-packages/ZEO/cache.py", line 36,
>> in ?\n    import ZODB.fsIndex
>> [..]   File "/usr/lib64/python2.4/site-packages/ZODB/__init__.py", line
>> 31, in ?\n    from DB import DB
>> [..]   File "/usr/lib64/python2.4/site-packages/ZODB/DB.py", line 27, in
>> ?\n    from ZODB.Connection import Connection
>> [..]   File "/usr/lib64/python2.4/site-packages/ZODB/Connection.py",
>> line 33, in ?\n    from ZODB.blob import Blob, rename_or_copy_blob
>> [..]   File "/usr/lib64/python2.4/site-packages/ZODB/blob.py", line 34,
>> in ?\n    from ZODB import utils
>> [..]   ImportError: cannot import name utils
>> </error1>
>>
>> <error2>
>>
>> Traceback (most recent call last):
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch
>>      default=default_handler, arg=req, silent=hlist.silent)
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 1229, in _process_target
>>      result = _execute_target(config, req, object, arg)
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 1128, in _execute_target
>>      result = object(arg)
>>    File "/usr/lib64/python2.4/site-packages/mod_python/publisher.py", line 204, in handler
>>      module = page_cache[req]
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 1059, in __getitem__
>>      return import_module(req.filename)
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 296, in import_module
>>      log, import_path)
>>    File "/usr/lib64/python2.4/site-packages/mod_python/importer.py", line 680, in import_module
>>      execfile(file, module.__dict__)
>>    File "/opt/indico/www/htdocs/signIn.py", line 22, in ?
>>      from MaKaC.common.general import *
>>    File "/usr/lib/python2.4/site-packages/MaKaC/common/__init__.py", line 22, in ?
>>      from db import DBMgr
>>    File "/usr/lib/python2.4/site-packages/MaKaC/common/db.py", line 30, in ?
>>      from ZEO.ClientStorage import ClientStorage
>>    File "/usr/lib64/python2.4/site-packages/ZEO/ClientStorage.py", line 34, in ?
>>      from ZEO.cache import ClientCache
>>    File "/usr/lib64/python2.4/site-packages/ZEO/cache.py", line 36, in ?
>>      import ZODB.fsIndex
>>    File "/usr/lib64/python2.4/site-packages/ZODB/__init__.py", line 31, in ?
>>      from DB import DB
>>    File "/usr/lib64/python2.4/site-packages/ZODB/DB.py", line 27, in ?
>>      from ZODB.Connection import Connection
>>    File "/usr/lib64/python2.4/site-packages/ZODB/Connection.py", line 33, in ?
>>      from ZODB.blob import Blob, rename_or_copy_blob
>>    File "/usr/lib64/python2.4/site-packages/ZODB/blob.py", line 36, in ?
>>      import transaction
>>    File "/usr/lib64/python2.4/site-packages/transaction/__init__.py", line 19, in ?
>>      from transaction._transaction import Transaction
>>    File "/usr/lib64/python2.4/site-packages/transaction/_transaction.py", line 620, in ?
>>      class Savepoint:
>>    File "/usr/lib64/python2.4/site-packages/zope/interface/advice.py", line 132, in advise
>>      return callback(newClass)
>>    File "/usr/lib64/python2.4/site-packages/zope/interface/declarations.py", line 484, in _implements_advice
>>      classImplements(cls, *interfaces)
>>    File "/usr/lib64/python2.4/site-packages/zope/interface/declarations.py", line 460, in classImplements
>>      spec = implementedBy(cls)
>>    File "/usr/lib64/python2.4/site-packages/zope/interface/declarations.py", line 300, in implementedByFallback
>>      spec = cls.__dict__.get('__implemented__')
>>
>> RuntimeError: class.__dict__ not accessible in restricted mode
>> </error2>
>>
>>
>> Have you ever experience a problem like this? Is there any easy solution?
>> We use python 2.4.3, apache 2.2.3, mod_python 3.3.1.
>>
>> Thank you so much in advance.
>>
>> Best regards,
>> Jose
>>
>>     
>
>   


-- 
Jose Benito Gonzalez Lopez 

Voice:  (+412276)74345
Fax:    (+412276)68471

CERN IT-UDS-AVC 
Indico <http://indico.cern.ch/>



More information about the ZODB-Dev mailing list