Message 62453 - Python tracker
We're finding such bugs because we are trying to reimplement ctypes in PyPy. I guess your last question was "is it impossible to construct this 'bug' without *reading* .contents?". The answer is that it doesn't change much; you can replace all the reads from .contents with reads from [0], and still see the issue. See attached y.py, where I've put the equivalent C code in comments.