Re: pg15b4: FailedAssertion("TransactionIdIsValid(xmax)

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: Zhang Mingli <zmlpostgres(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg15b4: FailedAssertion("TransactionIdIsValid(xmax)
Date: 2022-09-11 22:31:49
Message-ID: CA+hUKGJ_GR0XWTMZQQpM44ttBv-LUVG0S3_xa2kvde0Bejuang@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Sep 10, 2022 at 5:01 PM Justin Pryzby <pryzby(at)telsasoft(dot)com> wrote:
> BTW, after a number of sigabrt's, I started seeing these during
> recovery:
>
> < 2022-09-09 19:44:04.180 CDT >LOG: unexpected pageaddr 1214/AF0FE000 in log segment 0000000100001214000000B4, offset 1040384
> < 2022-09-09 23:20:50.830 CDT >LOG: unexpected pageaddr 1214/CF65C000 in log segment 0000000100001214000000D8, offset 6668288

That's just what it looks like when we discover the end of the WAL by
hitting a page that hasn't been overwritten yet in a recycled WAL
segment, so the pageaddr is off by a multiple of 16MB. Depending on
timing and chance you might be more used to seeing the error where we
hit zeroes in a partially filled page, the famous 'wanted 24, got 0',
and you can also hit a fully zero-initialised page 'invalid magic
number 0000'. All of these are expected, and more exotic errors are
possible with power loss torn writes or on crash of a streaming
standbys where we currently fail to zero the rest of overwritten
pages.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2022-09-11 22:44:38 Re: pg15b4: FailedAssertion("TransactionIdIsValid(xmax)
Previous Message Tom Lane 2022-09-11 22:31:41 Re: Splitting up guc.c