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 vstinner
Recipients Jim.Jewett, Mark.Shannon, gvanrossum, python-dev, rhettinger, vstinner
Date 2012-03-06.16:54:10
SpamBayes Score 1.1733318e-05
Marked as misclassified No
Message-id <CAMpsgwa=9m3m7dD1uOjnvn0J8QfoF6sm2kbgL0Or5ixzAg8P_Q@mail.gmail.com>
In-reply-to <1331051737.81.0.0806691062949.issue14205@psf.upfronthosting.co.za>
Content
> Can't this be triggered by non-malicious code that just happened to have a python comparison and get hit with a thread switch?

The issue was triggered without threads.If the __eq__ method of the
objects used for keys use C functions releasing the GIL, you may
trigger the issue.

> Would it be worth adding a counter to lookdict, so that one modification is OK, but 5 aren't?

If you implement a special type modifying the dict that contains the
object, you should implement your own retry function on lookup failure
(catch RuntimeError).

Honestly, if you get RuntimeError, you should change your program, not
retry the lookup!
History
Date User Action Args
2012-03-06 16:54:11vstinnersetrecipients: + vstinner, gvanrossum, rhettinger, Mark.Shannon, python-dev, Jim.Jewett
2012-03-06 16:54:11vstinnerlinkissue14205 messages
2012-03-06 16:54:10vstinnercreate