Threads with Python 2.2.2 on Red Hat 9.0

Neil Hodgson nhodgson at eb2.net.au
Thu Dec 18 19:27:50 EST 2003


    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





More information about the Python-list mailing list