I am seeing some problems with threads on Red Hat Linux 9.0. With no
LD_ASSUME_KERNEL environment variable set, a large proportion, possibly
20%, of threads do not run. They are created OK and their __init__ which
includes a setDaemon(1) is successful. start() is called on the thread
object and a message successfully displayed after the start() call. But
no message is produced by the thread's run() method. The thread class is
derived directly from threading.Thread and in its __init__ calls
threading.Thread.__init__(self) before calling self.setDaemon(1).
The problem can be fixed by setting LD_ASSUME_KERNEL to 2.2.5 which
turns off the Native Posix Thread Library. It can also be fixed by using
Python 2.3.1. Recompiling Python 2.2.2 sees the same problem although it
may be occurring less often. I would prefer to be able to deliver on a
standard Red Hat 9. The code is quite complex, including large libraries
such as Oracle support and the problem could be a bug in a library or in
our code.
Does anyone know of any incompatibilities between Python 2.2.2 and
the Native Posix Thread Library? Googling found traces of problems but
no strong conclusion.
Neil