[Zope] Zope 2.5.0b4/2.4.x crashes

Brian Lloyd brian.lloyd@zope.com
Wed, 23 Jan 2002 09:48:43 -0500


> In the continuing effort to figure out why a C-extension I've written
> works without error in the Python interpreter, yet causes Zope to
> terminate abnormally (with nary a traceback) I've started to explore the
> ExternalMethod code.
> 
> Curious -- why does it use the method it does (apply(), etc) rather than
> simply importing the external module and calling the method?
> 
> At this point, I'm wondering if the (transient, but fatal) error is in
> the Python interpreter itself, and triggers due to the way Zope handles
> external methods.

Hi Keith - 

What does your C extension actually do? I saw a mention in your 
collector entry about a 'database' - is the .dll a hook into a 
database API? If so, I would highly suspect that the problem may 
have to with threading (which would explain why it "works" from 
a simple test within the Python interpreter). Without knowing 
the details I can't point you in any specific direction, but I've 
seen this time and time again with RDBMS integration extensions. 

One step you might take is to set up a Python-only test that 
uses the extension from multiple threads (to remove Zope from 
the mix and try to narrow the possibilities).

Hope this helps!

Brian Lloyd        brian@zope.com
Software Engineer  540.361.1716       
Zope Corporation   http://www.zope.com