Re: BUG #19484: Segmentation fault triggered by FDW
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Amit Langote <amitlangote09@gmail.com>
Cc: Etsuro Fujita <etsuro.fujita@gmail.com>,
Matheus Alcantara <matheusssilv97@gmail.com>,
Ayush Tiwari <ayushtiwari.slg01@gmail.com>,
Rafia Sabih <rafia.pghackers@gmail.com>, 798604270@qq.com,
pgsql-bugs@lists.postgresql.org, Amit Langote <amitlan@postgresql.org>
Date: 2026-06-24T01:53:55Z
Lists: pgsql-bugs
Amit Langote <amitlangote09@gmail.com> writes: > crake is now red on REL_18: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2026-06-24%2000%3A02%3A03 > It reports sizeof(ModifyTableState) grew by 8 bytes. > That’s from adding mt_fdwPrivLists at the end of the struct. Placing it > last keeps existing field offsets stable, which is what extensions reading > the node rely on, but it does grow the struct, which is what the checker > flags. I believe we’ve added trailing struct members in back branches > before for exactly this reason. Is a flagged sizeof increase acceptable > here under that precedent, or do we now want to avoid any flagged ABI > change on a back branch? I don't believe that the addition of ABI checking was meant to change our back-patching policies, just to make sure we don't make unintentional ABI changes. As you say, we've added trailing fields before. The critical question is whether it's likely that any extensions create their own ModifyTableState nodes (and might make them too small and/or fail to fill the new field correctly). I was about to say that that seems unlikely to me, but a check of Debian Code Search immediately found pg_rewrite doing it. So yeah, looks like we'd better adopt the no-ABI-break solution. regards, tom lane
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Avoid ABI break in ModifyTableState from the FDW pruning fix
- bba4e095d250 18 (unreleased) landed
-
Re-index ModifyTable FDW arrays when pruning result relations
- b43f8aa4cb30 19 (unreleased) landed
- 1ef917e3a61a 18 (unreleased) landed
-
Fix universal builds on MacOS
- 901ed9b352b4 19 (unreleased) cited
-
Track unpruned relids to avoid processing pruned relations
- cbc127917e04 18.0 cited