On Thu, 13 Mar 2008, Nicholas Clark via RT wrote:
> Specifically, I am suspecting that if
>
> offsetof(struct parrot_string_t, bufused) == sizeof(Buffer)
>
> matters, then something is either looking at or copying (sub)structures than
> happen to have padding, and in turn that padding happens to end up with bit
> patterns that have meaning in some other, larger (containing?) structure.
Yes. That's exactly my suspicion. Strings are stored in "bufferlike"
pools, and many of the mainpulations in src/headers.c involve
sizeof(Buffer), even though there is no actual "Buffer" inside a string
anymore. To be fair, though, there's a *lot* more going on in parrot's
memory management that I just don't understand, and I have been unable
to pinpoint a specific assignment that is in error.
--
Andy Dougherty [EMAIL PROTECTED]