[pypy-issue] Issue #1919: Problematic strings returned from os.read (pypy/pypy)

Philip Jenvey issues-reply at bitbucket.org
Sat Nov 1 20:13:21 CET 2014

New issue 1919: Problematic strings returned from os.read

Philip Jenvey:

Here's a nasty one. The attached script fails on recent pypys (result in d should be True).

tannit can reproduce it w/ a recent pypy2 no-jit build:


(it may take no more than a few tries before it prints a bogus result of "False\nTrue")

AFAICT the rpython level string's hash code seems bogus. The bad string's from an os.read w/ count 1 specified resulting in a string of length 1.

I haven't tracked down to when this began happening but I recall it beginning to exhibit itself on PyPy3 at least a couple weeks ago in the most unrelated way (backspace in pyrepl began raising an exception). Doesn't happen in 2.4.0 release (pypy2 & pypy3)

I suspect the pinning/zeroing changes aren't clearing out the initial hash code but that's just a guess, so far I can't see how that would even happen

More information about the pypy-issue mailing list