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]