Re: HOT chain validation in verify_heapam() - Mailing list pgsql-hackers

From Andres Freund
Subject Re: HOT chain validation in verify_heapam()
Date
Msg-id 20230323003838.kz6hmvlr5n3d52yr@awork3.anarazel.de
Whole thread Raw
In response to Re: HOT chain validation in verify_heapam()  (Andres Freund <andres@anarazel.de>)
Responses Re: HOT chain validation in verify_heapam()  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi,

On 2023-03-22 13:45:52 -0700, Andres Freund wrote:
> On 2023-03-22 09:19:18 -0400, Robert Haas wrote:
> > On Fri, Mar 17, 2023 at 8:31 AM Aleksander Alekseev
> > <aleksander@timescale.com> wrote:
> > > The patch needed a rebase due to a4f23f9b. PFA v12.
> >
> > I have committed this after tidying up a bunch of things in the test
> > case file that I found too difficult to understand -- or in some cases
> > just incorrect, like:
> 
> As noticed by Andrew
> https://postgr.es/m/bfa5bd2b-c0e6-9d65-62ce-97f4766b1c42%40dunslane.net and
> then reproduced on HEAD by me, there's something not right here.

skink / valgrind reported in a while back and found another issue:

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=skink&dt=2023-03-22%2021%3A53%3A41

==2490364== VALGRINDERROR-BEGIN
==2490364== Conditional jump or move depends on uninitialised value(s)
==2490364==    at 0x11D459F2: check_tuple_visibility (verify_heapam.c:1379)
==2490364==    by 0x11D46262: check_tuple (verify_heapam.c:1812)
==2490364==    by 0x11D46FDF: verify_heapam (verify_heapam.c:535)
==2490364==    by 0x3D5B2C: ExecMakeTableFunctionResult (execSRF.c:235)
==2490364==    by 0x3E8225: FunctionNext (nodeFunctionscan.c:95)
==2490364==    by 0x3D6685: ExecScanFetch (execScan.c:133)
==2490364==    by 0x3D6709: ExecScan (execScan.c:182)
==2490364==    by 0x3E813A: ExecFunctionScan (nodeFunctionscan.c:270)
==2490364==    by 0x3D31C4: ExecProcNodeFirst (execProcnode.c:464)
==2490364==    by 0x3FF7E7: ExecProcNode (executor.h:262)
==2490364==    by 0x3FFB15: ExecNestLoop (nodeNestloop.c:160)
==2490364==    by 0x3D31C4: ExecProcNodeFirst (execProcnode.c:464)
==2490364==  Uninitialised value was created by a stack allocation
==2490364==    at 0x11D45325: check_tuple_visibility (verify_heapam.c:994)
==2490364== 
==2490364== VALGRINDERROR-END
==2490364== VALGRINDERROR-BEGIN
==2490364== Conditional jump or move depends on uninitialised value(s)
==2490364==    at 0x11D45AC6: check_tuple_visibility (verify_heapam.c:1379)
==2490364==    by 0x11D46262: check_tuple (verify_heapam.c:1812)
==2490364==    by 0x11D46FDF: verify_heapam (verify_heapam.c:535)
==2490364==    by 0x3D5B2C: ExecMakeTableFunctionResult (execSRF.c:235)
==2490364==    by 0x3E8225: FunctionNext (nodeFunctionscan.c:95)
==2490364==    by 0x3D6685: ExecScanFetch (execScan.c:133)
==2490364==    by 0x3D6709: ExecScan (execScan.c:182)
==2490364==    by 0x3E813A: ExecFunctionScan (nodeFunctionscan.c:270)
==2490364==    by 0x3D31C4: ExecProcNodeFirst (execProcnode.c:464)
==2490364==    by 0x3FF7E7: ExecProcNode (executor.h:262)
==2490364==    by 0x3FFB15: ExecNestLoop (nodeNestloop.c:160)
==2490364==    by 0x3D31C4: ExecProcNodeFirst (execProcnode.c:464)
==2490364==  Uninitialised value was created by a stack allocation
==2490364==    at 0x11D45325: check_tuple_visibility (verify_heapam.c:994)
==2490364==

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: POC: Lock updated tuples in tuple_update() and tuple_delete()
Next
From: "houzj.fnst@fujitsu.com"
Date:
Subject: RE: Simplify some codes in pgoutput