Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Yuli Khodorkovskiy <yuli.khodorkovskiy@crunchydata.com>, pgsql-bugs@lists.postgresql.org, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Date: 2019-05-16T02:19:03Z
Lists: pgsql-bugs
On Thu, May 16, 2019 at 10:38:08AM +0900, Michael Paquier wrote:
> So my bet is that the coverage is from pg_ctl/t/004_logrotate.pl,
> which is a test skipped on Windows.  culicidae runs that, so the fact
> that the failure got undetected is actually a bit of a mystery because
> this uses sysv_shmem.c.
> 
> Except culicidae, I am seeing no members using EXEC_BACKEND which
> enable the syslogger and use TAP tests :(

Oh, actually culicidae catches the failure, but that's burried in the
logs, and I am not able to catch up that on my machine in the TAP
tests:
TRAP: FailedAssertion("!(UsedShmemSegAddr != ((void *)0))", File:
"pg_shmem.c", Line: 848)
https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=culicidae&dt=2019-05-16%2000%3A30%3A04&stg=pg_ctl-check

We definitely need to improve that.

Also, I am noticing another consequence as the handling of backend
variable files also suffers consequences:
could not open backend variables file
"pgsql_tmp/pgsql_tmp.backend_var.21912.1": No such file or directory

So it seems that reverting 57431a91 is an option on the table?
Opinions?
--
Michael

Commits

  1. Rearrange postmaster's startup sequence for better syslogger results.

  2. Improve logrotate test so that it meaningfully exercises syslogger.

  3. Revert "postmaster: Start syslogger earlier".

  4. postmaster: Start syslogger earlier