1. PostgreSQL Server Subprocess Went down at function 'pg_detoast_datum_packed'

From: <fjz22(at)mails(dot)tsinghua(dot)edu(dot)cn>
To: <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Cc: <ljiee(at)mail(dot)tsinghua(dot)edu(dot)cn>, <wuzy21(at)mails(dot)tsinghua(dot)edu(dot)cn>
Subject: 1. PostgreSQL Server Subprocess Went down at function 'pg_detoast_datum_packed'
Date: 2023-04-13 16:21:19
Message-ID: 007201d96e23$fabaff10$f030fd30$@mails.tsinghua.edu.cn
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Description: PostgreSQL Server Subprocess Went down at function
'pg_detoast_datum_packed'

PostgreSQL Server Version: PostgreSQL 15.2 on x86_64-pc-linux-gnu, compiled
by Ubuntu clang version 12.0.1, 64-bit

Discoverer: Jingzhou Fu, Jie Liang and Zhiyong Wu in WingTecher Lab of
Tsinghua University and Shuimuyulin ltd

Email address: fjz22(at)mails(dot)tsinghua(dot)edu(dot)cn , wuzy21(at)mails(dot)tsinghua(dot)edu(dot)cn
, ljiee(at)mail(dot)tsinghua(dot)edu(dot)cn

Way to Reproduce with Docker (write the poc content into file PoC.sql):

```bash

docker container rm some-postgres -f

docker run --name some-postgres -p 5432:5432 -e
POSTGRES_PASSWORD=mysecretpassword -d postgres:15.2

sleep 5 # wait the server start .

docker exec -i some-postgres psql --user=postgres < PoC.sql

# Output:

# server closed the connection unexpectedly

# This probably means the server terminated abnormally

# before or while processing the request.

# connection to server was lost

```

PoC:

```sql

CREATE FUNCTION bt_name_heap(cstring)

RETURNS committs_test

AS 'textin'

LANGUAGE internal STRICT IMMUTABLE;

CREATE FUNCTION random(committs_test)

RETURNS cstring

AS 'textout'

LANGUAGE internal STRICT IMMUTABLE;

CREATE TYPE committs_test (

internallength = 4,

input = bt_name_heap,

output = random,

alignment = int4,

default = 42,

passedbyvalue

);

CREATE TABLE seqno (bt_txt_heap committs_test, bt_f8_heap committs_test);

INSERT INTO seqno DEFAULT VALUES;

CREATE TYPE committs_test (

"Internallength" = 4,

"Input" = bt_name_heap,

"Output" = random,

"Alignment" = int4,

"Default" = 42,

"Passedbyvalue"

);

CREATE TYPE bt_name_index AS (f1 committs_test, f2 committs_test);

CREATE FUNCTION get_default_test() RETURNS SETOF bt_name_index AS '

SELECT * FROM seqno;

' LANGUAGE SQL;

SELECT * FROM get_default_test();

```

Backtrace:

```

#0 0x1cc7669 (pg_detoast_datum_packed+0x49)

#1 0x1bd15e9 (text_to_cstring+0x29)

#2 0x1bd5516 (textout+0x46)

#3 0x1cc01da (FunctionCall1Coll+0x3ca)

#4 0x1cc65ff (OutputFunctionCall+0x1f)

#5 0x59c7f6 (printtup+0x406)

#6 0xeb3bdf (ExecutePlan+0x31f)

#7 0xeb3780 (standard_ExecutorRun+0x550)

#8 0xeb3224 (ExecutorRun+0x64)

#9 0x16f6361 (PortalRunSelect+0x241)

#10 0x16f53bd (PortalRun+0x7ed)

#11 0x16e9694 (exec_simple_query+0xe04)

#12 0x16e7a63 (PostgresMain+0x1523)

#13 0x144c17b (BackendRun+0xbb)

#14 0x144ad85 (BackendStartup+0x525)

#15 0x14481e6 (ServerLoop+0x616)

#16 0x1443e0f (PostmasterMain+0x30cf)

#17 0x106ebf2 (main+0x5a2)

#18 0x7f110a910083 (__libc_start_main+0xf3)

#19 0x49fc0e (_start+0x2e)

```

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message fjz22 2023-04-13 16:28:18 2. PostgreSQL Server Subprocess Went down at function 'datumTransfer'
Previous Message Alvaro Herrera 2023-04-13 15:18:08 Re: BUG #17892: Bug primary key