This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pitrou
Recipients gps, pitrou
Date 2009-11-04.20:23:09
SpamBayes Score 2.1081822e-05
Marked as misclassified No
Message-id <1257366192.74.0.459548396253.issue7264@psf.upfronthosting.co.za>
In-reply-to
Content
It turns out that the __del__ method in _threading_local.py tries to
call threading.enumerate() which itself takes the _active_limbo_lock.
The problem is that __del__ can be called at any point in time (because
of the GC), including at a point where the same thread has already taken
the lock. The obvious fix is to bypass enumerate().

(an alternate fix would be to use an RLock for _active_limbo_lock, but
it could have unforeseen consequences, such as performance ones)
History
Date User Action Args
2009-11-04 20:23:12pitrousetrecipients: + pitrou, gps
2009-11-04 20:23:12pitrousetmessageid: <1257366192.74.0.459548396253.issue7264@psf.upfronthosting.co.za>
2009-11-04 20:23:10pitroulinkissue7264 messages
2009-11-04 20:23:10pitroucreate