Kjetil Torgrim Homme <kjetilho(at)ifi(dot)uio(dot)no> writes:
> how can att[i]->attlen possibly change in the interim? but
> data_length looks corrupted, too.
Unless you compiled with no optimization at all (-O0), the compiler
would likely fold the identical memcpy() calls in the different
if-branches together. So I wouldn't put too much stock in the
reported line number.
It does seem striking that a 0x2f got dumped into the high byte of the
length word in both cases. Have you checked to see what the
page-on-disk looks like? I'd be interested to know if the offset of the
damaged byte within the page is again 0x0fff.
regards, tom lane