Dennis Allison wrote at 2003-12-12 10:00 -0800:
RH9 has had major problems with programs that use threads. I just experienced a server crash (ouch!) which looks like it may be due to RH9 threading, but I am not sure. And, of course, there's not much to go on in the logs, there's no chance of reproducing the situation, etc.
Basically Zope died at line 241 in ZServer/HTTPResponse.py. This is in the __init__ method of the ChannelPipe class (and "Experimental" pipe from ZPublisher to a ZServer Channel). The error was
ZServer Server Error: exception.TypeError, attribute name must be a string: file: $SOFTWAREHOME/ZServer/HTTResponse.py line: 241
repeated many times.
ZServer eventually tries to close the channel (uncaptured Python exception), but the error persists. Shutdown of Zope was normal and restarting cleared the problem.
Has anyone else seen this kind of behavior? I'll file a bug report on it if it happens again.
This does not look like a threading bug but like memory corruption: The code in "ZServer.HTTPResponse.ChannelPipe.__init__" (at least in my Zope 2.6.2 (final)) cannot raise the above exception under normal circumstances. All attribute accesses are constant, i.e. verified by the compiler. Apparently, one of the attribute name objects changed type -- which can happen when they were overwritten in a memory corruption. -- Dieter