Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code) - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
Date
Msg-id 255a4e44-e5d9-2051-2c3f-242ff9b73429@iki.fi
Whole thread Raw
In response to Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Use FD_CLOEXEC on ListenSockets (was Re: Refactoring backend fork+exec code)
List pgsql-hackers
On 06/10/2023 09:50, Michael Paquier wrote:
> On Fri, Oct 06, 2023 at 02:30:16PM +0900, Michael Paquier wrote:
>> Okay, the backtrace is not that useful.  I'll see if I can get
>> something better, still it seems like this has broken the way the
>> syslogger closes these ports.
> 
> And here you go:
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  GetMemoryChunkMethodID (pointer=0x0) at mcxt.c:196 196 header =
> *((const uint64 *) ((const char *) pointer - sizeof(uint64)));
> (gdb) bt
> #0  GetMemoryChunkMethodID (pointer=0x0) at mcxt.c:196
> #1  0x0000557d04176d59 in pfree (pointer=0x0) at mcxt.c:1463
> #2  0x0000557d03e8eab3 in ClosePostmasterPorts (am_syslogger=true) at postmaster.c:2571
> #3  0x0000557d03e93ac2 in SysLogger_Start () at syslogger.c:686
> #4  0x0000557d03e8c5b7 in PostmasterMain (argc=3, argv=0x557d0471ed00)
> at postmaster.c:1148
> #5  0x0000557d03d48e34 in main (argc=3, argv=0x557d0471ed00) at main.c:198
> (gdb) up 2
> #2  0x0000557d03e8eab3 in ClosePostmasterPorts (am_syslogger=true) at
> postmaster.c:2571
> 2571 pfree(ListenSockets);
> (gdb) p ListenSockets $1 = (pgsocket *) 0x0

Fixed, thanks!

I did a quick test with syslogger enabled before committing, but didn't 
notice the segfault. I missed it because syslogger gets restarted and 
then it worked.

-- 
Heikki Linnakangas
Neon (https://neon.tech)




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: How to update unicode mapping table?
Next
From: Maxim Orlov
Date:
Subject: Re: should frontend tools use syncfs() ?