[Zope3-dev] error return without exception set

Jim Fulton jim@zope.com
Sun, 23 Feb 2003 08:35:42 -0500


Steve Alexander wrote:
> I can reproduce the following error on standard-output:
> 
> 
> 2003-02-23T13:24:19 ERROR SiteError Error while reporting an error to 
> the ErrorReportingService service
> Traceback (most recent call last):
>   File "Zope3/src/zope/app/publication/zopepublication.py", line 225, in 
> handleException
>     errService = queryService(object, ErrorReports)
>   File "Zope3/src/zope/component/__init__.py", line 43, in queryService
>     sm = queryServiceManager(context)
>   File "Zope3/src/zope/component/__init__.py", line 32, in 
> queryServiceManager
>     return getServiceManager(context)
>   File "Zope3/src/zope/component/__init__.py", line 28, in 
> getServiceManager
>     return getServiceManager_hook(context)
>   File "Zope3/src/zope/app/component/hooks.py", line 44, in 
> getServiceManager_hook
>     return ContextWrapper(
>   File "Zope3/src/zope/security/checker.py", line 159, in proxy
>     checker = getattr(value, '__Security_checker__', None)
> SystemError: error return without exception set
> 
> 
> This doesn't appear to be a problem with the proxy C code, because the 
> 'value' in getattr(value, '__Security_checker__', None) is not at all 
> wrapped.
> 
> Unfortunately, I cannot produce a small stand-alone test case.
> 
> Would anyone savvy in python at the C level like to help me track down 
> what is happening?

The bug is in the C implementation of persistence.  An invariant
is getting violated, namely that an object can't be a ghost unless
there is a data manager (aka _p_jar) for it.  This will take a
bit of time to chase down. This is a job for Jeremy, Barry, or myself.

Jim

-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (888) 344-4332            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org