Failing assertion in predicate.c - Mailing list pgsql-hackers

From Yurii Rashkovskii
Subject Failing assertion in predicate.c
Date
Msg-id CAG=VW14pkpYzyBq2Mn0vkpAcZmfDRTFuk_tYRw27XuHxU-=6Aw@mail.gmail.com
Whole thread Raw
Responses Re: Failing assertion in predicate.c
List pgsql-hackers
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

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: allowing extensions to control planner behavior
Next
From: Bruce Momjian
Date:
Subject: Re: optimize hashjoin