From: | Andrew Bille <andrewbille(at)gmail(dot)com> |
---|---|
To: | Yurii Rashkovskii <yrashk(at)omnigres(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Failing assertion in predicate.c |
Date: | 2024-10-17 05:50:12 |
Message-ID: | CAJnzarzKQw=C-gdoU_9b9t18RSpsx-ndDESTHvA6f7u4Jsu7WA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi, Yurii!
Please look at the bug report, I filed yesterday almost simultaneously with
you:
https://www.postgresql.org/message-id/18658-7dab125ec688c70b%40postgresql.org
Thanks!
On Thu, Oct 17, 2024 at 12:49 PM Yurii Rashkovskii <yrashk(at)omnigres(dot)com>
wrote:
> Hi pg-hackers,
>
> I am encountering an assertion failure in predicate.c when running a high
> volume of short serializable transactions. The error occurs during stress
> testing with many concurrent connections.
>
> I have replicated this issue on two separate macOS M1 systems, but I have
> not been able to reproduce it on Linux. The issue arises in both PostgreSQL
> 16 and 17. Interestingly, introducing a delay of just 1 ms between
> statements seems to prevent the assertion from failing.
>
> The specific failure I encounter is:
>
> ```
> TRAP: failed Assert("TransactionIdIsValid(tailXid)"), File: "predicate.c",
> Line: 885, PID: 1350
> ```
>
> For anyone interested, I have created a reproduction program available
> here: https://github.com/yrashk/pg-predicate-tailxid-assertion-issue. The
> program establishes a connection pool and issues simple INSERT statements,
> each wrapped in its own serializable transaction.
>
> I would appreciate any insights into this issue or potential steps for
> further debugging.
>
>
> --
> Founder at Omnigres
> https://omnigres.com
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | jian he | 2024-10-17 06:07:00 | Re: minor doc issue in 9.16.2.1.1. Boolean Predicate Check Expressions |
Previous Message | Seino Yuki | 2024-10-17 05:07:32 | Re: Doc: shared_memory_size_in_huge_pages with the "SHOW" command. |