Re: new heapcheck contrib module - Mailing list pgsql-hackers

From Mark Dilger
Subject Re: new heapcheck contrib module
Date
Msg-id C7840A33-8669-45B3-8A4D-5B656B72245E@enterprisedb.com
Whole thread Raw
In response to Re: new heapcheck contrib module  (Mark Dilger <mark.dilger@enterprisedb.com>)
List pgsql-hackers

> On Oct 22, 2020, at 6:50 PM, Mark Dilger <mark.dilger@enterprisedb.com> wrote:
>
>
>
>> On Oct 22, 2020, at 6:46 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>
>> I wrote:
>>> I get
>>> off = 7777, flags = 2, len = 3bbb
>>> on a little-endian machine, and
>>> off = 3bbb, flags = 2, len = 7777
>>> on big-endian.  It'd be less symmetric if the bytes weren't
>>> all the same ...
>>
>> ... but given that this is the test value we are using, why
>> don't both endiannesses whine about a non-maxalign'd offset?
>> The code really shouldn't even be trying to follow these
>> redirects, because we risk SIGBUS on picky architectures.
>
> Ahh, crud.  It's because
>
>     syswrite($fh, '\x77\x77\x77\x77', 500)
>
> is wrong twice.  The 500 was wrong, but the string there isn't the bit pattern we want -- it's just a string literal
withbackslashes and such.  It should have been double-quoted. 

The reason this never came up in testing is what I was talking about elsewhere -- this test isn't designed to create
*specific*corruptions.  It's just supposed to corrupt the table in some random way.  For whatever reasons I'm not too
curiousabout, that string corrupts on little endian machines but not big endian machines.  If we want to have a test
thattailors very specific corruptions, I don't think the way to get there is by debugging this test. 

—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company






pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Would it be helpful for share the patch merge result from cfbot
Next
From: Andy Fan
Date:
Subject: Re: Would it be helpful for share the patch merge result from cfbot