Re: BUG #19109: catalog lookup with the wrong snapshot during logical decoding causes coredump

Haiyang Li <mohen.lhy@alibaba-inc.com>

From: "Haiyang Li" <mohen.lhy@alibaba-inc.com>
To: "Michael Paquier" <michael@paquier.xyz>
Cc: "Xuneng Zhou" <xunengzhou@gmail.com>, "pgsql-bugs" <pgsql-bugs@lists.postgresql.org>
Date: 2025-11-11T02:46:47Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. For inplace update, send nontransactional invalidations.

From:Michael Paquier <michael@paquier.xyz> 2025-11-11日 10:12 wrote:
> That's unfortunate. Having a reproducible test case that works with
> upstream would speed up the analysis of the problem a lot.
Indeed. I can reproduce the core in original instance by using pg_logical_slot_peek_changes
fucntion. But I can’t reproduce in other new instances. I will try to reproduce this issue again later.
While debugging the original instance using gdb, I found that txn 10722 was skipped due to
SnapBuildCurrentState(builder) < SNAPBUILD_FULL_SNAPSHOT, causing the catalog snapshot
to miss its commit. This suggests that the root cause may be in the new transaction handling
logic during snapshot building.
Regards,
Haiyang Li