| From: | Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> |
|---|---|
| To: | RekGRpth <rekgrpth(at)gmail(dot)com> |
| Cc: | PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Server crash on UPDATE after savepoint rollback when the row is locked by the same transaction (Assert HEAP_XMAX_IS_LOCKED_ONLY in heap_update) |
| Date: | 2026-11-02 08:51:42 |
| Message-ID: | CAB8bMiuUHvBuY=Bm0LjwAbFWKk7tr69t1XpYjAVHytnKp2gn9g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
пн, 2 нояб. 2026 г. в 12:14, RekGRpth <rekgrpth(at)gmail(dot)com>:
> Suggested fix
>
> In MultiXactIdExpand, prune dead members ("still of interest") before the
> same-status early return, and only return the existing MultiXactId
> unchanged
> when nothing was pruned; otherwise recreate the multi from the remaining
> members. A patch against master is attached; I verified it fixes both the
> repro above and the pg_task scenario on 19rc1, with the multixact now
> created
> without the aborted updater (HEAP_XMAX_LOCK_ONLY set as expected).
>
Hi Georgy!
Thanks for the report.
v2 is attached. A few comments were adjusted, and the test was added
to src/test/isolation/isolation_schedule.
| Attachment | Content-Type | Size |
|---|---|---|
| v2-0001-Fix-MultiXactIdExpand-reusing-a-multixact-with-dead-members.patch | text/x-patch | 8.0 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | apex-security-research | 2026-11-02 09:06:24 | contrib/cube: NaN coordinates break the btree equivalence relation, so UNIQUE rejects distinct values and ORDER BY is unstable |
| Previous Message | ssye1697 | 2026-11-02 07:55:44 | Correction: 17.11/18.6 slot_getsomeattrs_int crash is not a d260d7d backpatch gap; request for triage direction |