Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kVi3d-00021q-4v for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Oct 2020 21:23:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kVi3b-0008Lg-Ux for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Oct 2020 21:23:35 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kVi3b-0008LY-Ny for pgsql-hackers@lists.postgresql.org; Thu, 22 Oct 2020 21:23:35 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kVi3V-0005jt-Gw for pgsql-hackers@postgresql.org; Thu, 22 Oct 2020 21:23:35 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 09MLNJUa066595; Thu, 22 Oct 2020 17:23:19 -0400 From: Tom Lane To: Mark Dilger cc: Robert Haas , Peter Geoghegan , "Andrey M. Borodin" , Stephen Frost , Michael Paquier , Amul Sul , Dilip Kumar , Andres Freund , PostgreSQL-development Subject: Re: new heapcheck contrib module In-reply-to: References: <12ED3DA8-25F0-4B68-937D-D907CFBF08E7@enterprisedb.com> <20200420194210.sevnpi4lyghoanxi@alap3.anarazel.de> <23E60C3C-C20A-4508-84AC-E0CEA59E784A@enterprisedb.com> <5F743835-3399-419C-8324-2D424237E999@enterprisedb.com> <885D2EC9-7D06-4903-A17D-72C184A1E1C5@enterprisedb.com> <5CC85F28-F210-47AC-8DA8-EC4E82AF3FD5@enterprisedb.com> <0C0349EB-DD85-4DA8-82C7-DF70AB714592@enterprisedb.com> <9DF93B83-FE46-4EC4-A99D-77A60729FD2D@enterprisedb.com> <50F6468F-5A5E-412A-86EC-DF24B549D733@enterprisedb.com> <7D603B53-8078-4AF0-851B-803FF4416501@enterprisedb.com> <98265AA9-7BDC-4708-9348-CC1B173BBE1D@enterprisedb.com> <209783.1603313248@sss.pgh.pa.us> <77A60E99-6054-40FD-A5D6-769C287D4A0F@enterprisedb.com> <721BFA83-EA6F-463D-A9DF-CE78A318B73A@enterprisedb.com> <2A7DA1A8-C4AA-43DF-A985-3CA52F4DC775@enterprisedb.com> <43209.1 Comments: In-reply-to Mark Dilger message dated "Thu, 22 Oct 2020 14:10:55 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <66593.1603401799.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Thu, 22 Oct 2020 17:23:19 -0400 Message-ID: <66594.1603401799@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Mark Dilger writes: > Yeah, I'm already looking at that. The logic in verify_heapam skips ove= r line pointers that are unused or dead, and the test is reporting zero co= rruption (and complaining about that), so it's probably not going to help = to overwrite all the line pointers with this particular bit pattern any mo= re than to just overwrite the first one, as it would just skip them all. > I think the test should overwrite the line pointers with a variety of di= fferent bit patterns, or one calculated to work on all platforms. I'll ha= ve to write that up. What we need here is to produce the same test results on either endianness. So probably the thing to do is apply the equivalent of ntohl() to produce a string that looks right for either host endianness. As a separate matter, you'd want to test corruption producing any of the four flag bitpatterns, probably. It says here you can use Perl's pack/unpack functions to get the equivalent of ntohl(), but I've not troubled to work out how. regards, tom lane