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)