Keith J. Farmer wrote:
That doesn't (to me, at least) explain why it never crashes except under the one case, nor why I was told by zope.com that this had been seen before with RDBMS extensions.
Sorry, I actually didn't understand what you were saying within your message until now! I can't explain that behavior. Note that at this point you've isolated it so that it really has nothing to do with Zope It might be time to ask this question on the Python maillist (unless you've already done that).
I'm entirely open to the idea of improper memory or reference
management, but I'd suspect that, since the extension is a constant, that crashes would appear in all cases. That not being the case, I suspect the environment that's setting up the thread -- Python, in this case.
It's possible. But good programmers suspect everything before they suspect their tools, so I'd certainly keep an open mind. ;-)
If it *is* a matter of the extension itself, then an example of how it should properly be done would be in order. I've not seen any.
"Extending and Embedding Python" would be the right place to start. http://www.python.org/doc/current/ext/ext.html. Additionally, it may be useful to ask questions on the comp.lang.python newsgroup. Now that you've narrowed it down to a reproducible test case, I would hope somebody there could help you solve the mystery. Sorry I can't be more helpful! - C