(original) (raw)
On my box, the latest batch of refleak fixes seems to have fixed all but one of the leaky tests. test_threading_local still leaks, but it leaks rather consistently now (which is new.) I'm not able to make the other ones leak with any combination of '-u<resource>' or removing .pyc's beforehand or running longer or shorter. I hope it's not just my box :-)
test_threading_local is not entirely consistent, but it looks a lot more reliable on my box than on Neal's automated mails:
test_threading_local
beginning 11 repetitions
12345678901
...........
test_threading_local leaked [34, 34, 34, 34, 34, 26, 26, 22, 34] references
One remaining issue with refleakhunting on my machine is that test_tcl can't stand being run twice. Even without -R, this makes Python hang while waiting for a mutex in the second run through test_tcl:
...trunk $ ./python -E -tt Lib/test/regrtest test_tcl test_tcl
Attaching gdb to the hung process shows this unenlightening trace:
#0 0x00002b7d6629514b in __lll_mutex_lock_wait () from /lib/libpthread.so.0
#1 0x00002b7d6639a280 in completed.4801 () from /lib/libpthread.so.0
#2 0x0000000000000004 in ?? ()
#3 0x00002b7d66291dca in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x0000000000000000 in ?? ()
The process has one other thread, which is stuck here:
#0 0x00002b7d667f14d6 in __select_nocancel () from /lib/libc.so.6
#1 0x00002b7d67512d8c in Tcl_WaitForEvent () from /usr/lib/libtcl8.4.so.0
#2 0x00002b7d66290b1c in start_thread () from /lib/libpthread.so.0
#3 0x00002b7d667f8962 in clone () from /lib/libc.so.6
#4 0x0000000000000000 in ?? ()
It smells like test_tcl or Tkinter is doing something wrong with regards to threads. I can reproduce this on a few machines, but all of them run newish linux kernels with newish glibc's and newish tcl/tk. At least in kernel/libc land, various thread related things changed of late. I don't have access to other machines with tcl/tk right now, but I wonder if anyone can reproduce this in different situations.
--
Thomas Wouters <thomas@python.org>
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!