Fix missing initialization of delayChkptEnd - Mailing list pgsql-hackers

From 蔡梦娟(玊于)
Subject Fix missing initialization of delayChkptEnd
Date
Msg-id 9c3d2a49-db5f-43cb-840b-d58f9a684295.mengjuan.cmj@alibaba-inc.com
Whole thread Raw
Responses 回复:Fix missing initialization of delayChkptEnd
List pgsql-hackers
Hi, all
I got a coredump when testing with the REL_14_STABLE branch, which is as below:
I noticed that in commit 10520f4346876aad4941797c2255a21bdac74739, int delayChkpt has been changed back to bool delayChkpt + bool delayChkptEnd. However,  the initialization to delayChkptEnd is missed in function InitProcess. When autovacuum_proc1 is in RelationTruncate, the delayChkptEnd will be set as true. If autovacuum_proc1 receives a cancel signal and handles it at this time, autovacuum_proc1 will exit without reseting delayChkptEnd in its error handling process. After that, if autovacuum_proc2 reuses this PGPROC structure, the above error will occur.

I add a patch to fix this bug in the attachment,  hope you can check it.

Thanks & Best Regard

Attachment

pgsql-hackers by date:

Previous
From: Jelte Fennema
Date:
Subject: Re: Adding SHOW CREATE TABLE
Next
From: Morris de Oryx
Date:
Subject: Re: [BUG] pg_dump does not properly deal with BEGIN ATOMIC function