Hi again, Here's a guess. The value expected is 0x4142434445464748. The value we read is 0xb3f4bce041424344. That hints at an off-by-4-bytes issue. My guess is an alignment issue. When you force-cast the RPython string to a type with an 8-bytes-per-item array, on some 32-bit platforms it might be aligned to 8 bytes anyway. It is not the case on Linux x86-32, but it is the case on Win32 for example. So you force-cast to a type that looks like this:
gc header (4 bytes) hash (4 bytes) length (4 bytes) PADDING! (4 bytes) array items (8 bytes each) Maybe you should not force-cast to any type whose size is greater than a Signed, to avoid the issue. A bientôt, Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev