From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Erik Rijkers <er(at)xs4all(dot)nl> |
Cc: | Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: TRAP: FailedAssertion("tabstat->trans == trans", File: "pgstat_relation.c", Line: 508 |
Date: | 2022-04-19 17:55:26 |
Message-ID: | 20220419175526.n2xrpbz4ilnfxtdz@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2022-04-19 10:36:24 -0700, Andres Freund wrote:
> On 2022-04-19 13:50:25 +0200, Erik Rijkers wrote:
> > The 12th run of statbug.sh crashed and gave a corefile.
>
> I ran through quite a few iterations by now, without reproducing :(
>
> I guess there's some timing issue and you're hitting on your system
> due to the slower disks.
Ah. I found the issue. The new pgstat_report_stat(true) call in
LogicalRepApplyLoop()'s "timeout" section doesn't check if we're in a
transaction. And the transactional stats code doesn't handle that (never
has).
I think all that's needed is a if (IsTransactionState()) around that
pgstat_report_stat().
It might be possible to put an assertion into pgstat_report_stat(), but
I need to look at the process exit code to see if it is.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2022-04-19 18:01:46 | Re: Bad estimate with partial index |
Previous Message | Andres Freund | 2022-04-19 17:36:24 | Re: TRAP: FailedAssertion("tabstat->trans == trans", File: "pgstat_relation.c", Line: 508 |