On 02/11/2026 09:14, RekGRpth wrote:
> Steps to reproduce (any assert build):
>
> CREATE TABLE tr (id int primary key, val text);
> INSERT INTO tr VALUES (1, 'x');
> BEGIN;
> SELECT id FROM tr WHERE id = 1 FOR NO KEY UPDATE;
> SAVEPOINT s;
> UPDATE tr SET val = 'sub' WHERE id = 1;
> ROLLBACK TO SAVEPOINT s;
> RELEASE SAVEPOINT s;
> UPDATE tr SET val = repeat('md5', 4000) WHERE id = 1;
> COMMIT;
>
> The last UPDATE crashes the server:
>
> TRAP: failed Assert("HEAP_XMAX_IS_LOCKED_ONLY(infomask_lock_old_tuple)"),
> File: "heapam.c", Line: 3886 (19rc1; 4046 in 10.23)
> ExceptionalCondition + heap_update + ...
This was previously reported at
https://www.postgresql.org/message-id/CAOG%2BRQ6ECiiFH7bb7e1M0bkd0whprp%3DT0u%3DrvARSaPOGrY-NDQ%40mail.gmail.com
- Heikki