Re: Drop replslot after pgstat_shutdown cause assert coredump

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: masao(dot)fujii(at)oss(dot)nttdata(dot)com
Cc: gregn4422(at)gmail(dot)com, houzj(dot)fnst(at)fujitsu(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Drop replslot after pgstat_shutdown cause assert coredump
Date: 2021-10-22 04:47:40
Message-ID: 20211022.134740.249202911478782510.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Fri, 22 Oct 2021 11:43:08 +0900 (JST), Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> wrote in
> (Honestly, I haven't been able to reproduce the issue itself for
> myself yet..)

I managed to reproduce it for me.

psql "dbname=postgres replication=database"
postgres=# CREATE_REPLICATION_SLOT "ts1" TEMPORARY LOGICAL "pgoutput";
postgres=# C-d
(crash)

And confirmed that it doesn't happen with the fix.

> I haven't sought other similar issues. I'm going to check it if they,
> if any, can be fixed the same way.

FileClose calls pgstat_report_tempfile() via
BeforeShmemExit_Files. It is already registered after pgstat.
I added a call to assert_pgstat_initialized() to

All other pgstat functions seem to be called outside shmem_exit.

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2021-10-22 05:24:56 Re: Added schema level support for publication.
Previous Message Peter Smith 2021-10-22 04:37:38 Re: row filtering for logical replication