An application I am developing executes many threads and then has a "monitor" part that waits for certain events. One of these events causes the application to have to shutdown. On shutdown the monitor part notifies the threads of a shutdown, and the threads must cleanup and exit. When all threads have exited the monitor itself exits.
The traceback below occured on a shutdown. At the time there was only one thread running, however the same traceback occurs with many threads active. Some things I've observed: 1 - my application is able to complete successfully, 2 - it appears to be only in python 2.4. - does not occur with 2.3.1. 3 - it is not consistent, there are times when there is no traceback 4 - more likely to occur the longer a thread/application has run. 5 - does occur frequently enough (50% of the time) to be a problem I do not know how to investigate further. Any help or suggestions on how to investigate this and resolve would be much appreciated. Thanks. --------------------------------------------------------------------------------- Error traceback: ----------------- Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/usr/lib/python2.4/atexit.py", line 22, in _run_exitfuncs func(*targs, **kargs) File "/usr/lib/python2.4/threading.py", line 636, in __exitfunc self._Thread__delete() File "/usr/lib/python2.4/threading.py", line 522, in __delete del _active[_get_ident()] KeyError: 16384 Error in sys.exitfunc: Traceback (most recent call last): File "/usr/lib/python2.4/atexit.py", line 22, in _run_exitfuncs func(*targs, **kargs) File "/usr/lib/python2.4/threading.py", line 636, in __exitfunc self._Thread__delete() File "/usr/lib/python2.4/threading.py", line 522, in __delete del _active[_get_ident()] KeyError: 16384 Software environment: ----------------------- ********************************************* *** SYSTEM INFORMATION *** *** (Sat Mar 19 19:15:03 EST 2005) *** ********************************************* Host or node name : poseidon Machine type : i686 Operating system : Linux Kernel version : 2.4.29 Linux Distribution : Slackware 10.1.0 ********************************************* Python 2.4 (#1, Jan 1 2005,21:33:55) [GCC 3.3.4] on linux2 Gnu make 3.80 util-linux 2.12p modutils 2.4.27 e2fsprogs tune2fs Linux C Library 2.3.4 Dynamic linker (ldd) 2.3.4 Linux C++ Library 5.0.6 Procps 3.2.3 Net-tools 1.60 Kbd 1.12 Sh-utils 5.2.1 ********************************************* Modules Loaded: nfs lockd sunrpc ppp_deflate zlib_inflate zlib_deflate bsd_comp ppp_async ppp_generic slhc emu10k1 ac97_codec soundcore xfs ne2k-pci 8390 crc32 ********************************************* gcc version 3.3.4 Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/specs Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --target=i486-slackware-linux --host=i486-slackware-linux Thread model: posix ********************************************* -- http://mail.python.org/mailman/listinfo/python-list