public inbox for pgsql-bugs@postgresql.org  
help / color / mirror / Atom feed
From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: 798604270@qq.com
Subject: BUG #19484: Segmentation fault triggered by FDW
Date: Mon, 18 May 2026 06:38:34 +0000
Message-ID: <19484-a3cb82c8cde3c8fa@postgresql.org> (raw)

The following bug has been logged on the website:

Bug reference:      19484
Logged by:          Chi Zhang
Email address:      798604270@qq.com
PostgreSQL version: 18.4
Operating system:   Ubuntu 24.04
Description:        

Hi,

I found the following test case triggers a segmentation fault:

```
\set ON_ERROR_STOP on

CREATE EXTENSION postgres_fdw;

CREATE SERVER loopback FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (
  host '/path/to/pg_socket',
  port '5432',
  dbname :'dbname'
);

CREATE USER MAPPING FOR postgres SERVER loopback
OPTIONS (user 'postgres');

CREATE SCHEMA r;
CREATE TABLE r.remote_p2 (a int NOT NULL, b int);

CREATE TABLE pt (a int NOT NULL, b int) PARTITION BY LIST (a);
CREATE TABLE pt_p1 PARTITION OF pt FOR VALUES IN (1);
CREATE FOREIGN TABLE pt_p2 PARTITION OF pt FOR VALUES IN (2)
  SERVER loopback
  OPTIONS (schema_name 'r', table_name 'remote_p2');

INSERT INTO pt_p1 VALUES (1, 10);
INSERT INTO r.remote_p2 VALUES (2, 20);

SET plan_cache_mode = force_generic_plan;

PREPARE upd(int) AS
  UPDATE pt
  SET b = b + 1
  WHERE a = $1
  RETURNING tableoid::regclass, a, b;

EXPLAIN (costs off) EXECUTE upd(2);
EXECUTE upd(2);
SELECT * FROM r.remote_p2 ORDER BY a;

```

This is the log:

```
2026-05-18 13:40:41.888 CST [21729] LOG:  database system is ready to accept
connections
  2026-05-18 13:41:03.317 CST [21932] LOG:  unexpected EOF on client
connection with an open transaction
  2026-05-18 13:41:03.317 CST [21729] LOG:  client backend (PID 21931) was
terminated by signal 11: Segmentation fault
  2026-05-18 13:41:03.317 CST [21729] DETAIL:  Failed process was running:
EXECUTE upd(2);
  2026-05-18 13:41:03.317 CST [21729] LOG:  terminating any other active
server processes
  2026-05-18 13:41:03.319 CST [21729] LOG:  all server processes terminated;
reinitializing
  2026-05-18 13:41:03.345 CST [21936] LOG:  database system was interrupted;
last known up at 2026-05-18 13:40:41 CST
  2026-05-18 13:41:03.509 CST [21936] LOG:  database system was not properly
shut down; automatic recovery in progress
  2026-05-18 13:41:03.513 CST [21936] LOG:  redo starts at 0/98371040
  2026-05-18 13:41:03.531 CST [21936] LOG:  invalid record length at
0/987B6E68: expected at least 24, got 0
  2026-05-18 13:41:03.531 CST [21936] LOG:  redo done at 0/987B6E40 system
usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.01 s
  2026-05-18 13:41:03.537 CST [21937] LOG:  checkpoint starting:
end-of-recovery fast wait
  2026-05-18 13:41:03.654 CST [21937] LOG:  checkpoint complete:
end-of-recovery fast wait: wrote 975 buffers (6.0%), wrote 3 SLRU buffers; 0
WAL file(s) added, 0 removed, 0
recycled; write=0.081 s, sync=0.030 s, total=0.121 s; sync files=325,
longest=0.005 s, average=0.001 s; distance=4375 kB, estimate=4375 kB;
lsn=0/987B6E68, redo lsn=0/987B6E68
  2026-05-18 13:41:03.660 CST [21729] LOG:  database system is ready to
accept connections
```

I built the Postgres from source code
901ed9b352b41f034e17bc540725082a488fce31 of github commit.








reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: noreply@postgresql.org, pgsql-bugs@lists.postgresql.org, 798604270@qq.com
  Subject: Re: BUG #19484: Segmentation fault triggered by FDW
  In-Reply-To: <19484-a3cb82c8cde3c8fa@postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox