Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Date: 2021-08-07 03:06:52
Message-ID: 20210807030652.qf5wsbhxk7dpsmtn@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Hi,

On 2021-08-06 22:44:07 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > pgstat: Bring up pgstat in BaseInit() to fix uninitialized use of pgstat by AV.
>
> sifaka took exception to this, or at least I guess it was this one out
> of the four you pushed at once:

Longfin as well. It's the assertions from ee3f8d3d3ae, but possibly only
exposed after fb2c5028e63.

Not sure why it's your two animals that report this issue, but not others? Why
would a backend doing SendBaseBackup() previously have allocated temp files?

Don't get me wrong - it's good that they surfaced the issue, and it's an issue
independent of the specific trigger.

Glad I added the assertions...

See also https://www.postgresql.org/message-id/20210803023612.iziacxk5syn2r4ut%40alap3.anarazel.de

> TRAP: FailedAssertion("pgstat_is_initialized && !pgstat_is_shutdown", File: "pgstat.c", Line: 4810, PID: 74447)
> 0 postgres 0x0000000100e5a520 ExceptionalCondition + 124
> 1 postgres 0x0000000100ca1dec pgstat_reset_counters + 0
> 2 postgres 0x0000000100ca2548 pgstat_report_tempfile + 80
> 3 postgres 0x0000000100d07ca4 FileClose + 536
> 4 postgres 0x0000000100d09764 CleanupTempFiles + 160
> 5 postgres 0x0000000100d0f8c0 proc_exit_prepare + 228
> 6 postgres 0x0000000100d0f79c proc_exit + 24
> 7 postgres 0x0000000100e5ae04 errfinish + 856
> 8 postgres 0x0000000100f1a804 ProcessInterrupts.cold.9 + 88
> 9 postgres 0x0000000100d36a98 ProcessInterrupts + 604
> 10 postgres 0x0000000100cd93c4 sendDir + 1516
> 11 postgres 0x0000000100cd83a0 perform_base_backup + 3592
> 12 postgres 0x0000000100cd72c0 SendBaseBackup + 256
> 13 postgres 0x0000000100ce6a48 exec_replication_command + 1852
> 14 postgres 0x0000000100d39190 PostgresMain + 3260
> 15 postgres 0x0000000100ca9c78 process_startup_packet_die + 0
> 16 postgres 0x0000000100ca94ec ClosePostmasterPorts + 0
> 17 postgres 0x0000000100ca6a0c PostmasterMain + 4584
> 18 postgres 0x0000000100c0b798 help + 0
> 19 libdyld.dylib 0x0000000184391430 start + 4

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-08-07 03:13:28 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Previous Message Tom Lane 2021-08-07 02:44:07 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-08-07 03:13:28 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Previous Message Tom Lane 2021-08-07 02:44:07 Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o