From: Adrian M. <ad...@co...> - 2009-03-18 14:52:59
|
Jean-Paul Calderone wrote: > On Tue, 17 Mar 2009 18:19:54 -0300, Gustavo Moreira <gmo...@gm...> wrote: > >> I could reproduce the crash. This happens only (at least in my case) in >> Win32 platform, I tried it on linux and does not occur. >> Just add a couple of certificates in the test-crash-server.py, class >> handler_class, method __init__. Run test-crash-server.py and then >> test-crash-client.py, and in seconds python crashes!. >> >> Hi again :) just for the record, we've found with Gustavo that this bug is sort of platform dependent. In our case, local thread dictionary is implemented with a linked list, using a key/threadId as key of the dictionary ( you can see it in thread.c from your python source code ). The problem appears when thread Ids are reused as it happens on win32 platform. The testcase Gustavo sent, creates a thread per connection on the server side, which produces at some point a thread with id used by some previous death thread. On linux platform thread ids have less probability of being reused, that's why the bug didn't trigger very quickly. cheers a/ |