2.4 crashes when try to exit app and mulitple threads active

Maxwell Hammer hammer at maxwell.com
Sat Mar 19 19:23:07 EST 2005


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
*********************************************




More information about the Python-list mailing list