BUG #18815: Logical replication worker Segmentation fault
От | PG Bug reporting form |
---|---|
Тема | BUG #18815: Logical replication worker Segmentation fault |
Дата | |
Msg-id | 18815-2a0407cc7f40b327@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #18815: Logical replication worker Segmentation fault
|
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 18815 Logged by: Sergey Belyashov Email address: sergey.belyashov@gmail.com PostgreSQL version: 17.3 Operating system: Debian bookworm x86_64 Description: Today I try to upgrade my cluster from postgresql-16 to postgresql-17. And it was successfull until I restore some logical replication subscriptions. When subscription is activated and first data are come then server logs: 2025-02-17 13:34:08.975 [98417] LOG: logical replication apply worker for subscription "node4_closed_sessions_sub" has started 2025-02-17 13:34:11.213 [62583] LOG: background worker "logical replication apply worker" (PID 98417) was terminated by signal 11: Segmentation fault 2025-02-17 13:34:11.213 [62583] LOG: terminating any other active server processes 2025-02-17 13:34:11.240 [62583] LOG: all server processes terminated; reinitializing 2025-02-17 13:34:11.310 [98418] LOG: database system was interrupted; last known up at 2025-02-17 13:22:08 and then restarts. Kernel has been logged following info: [94740743.468001] postgres[98417]: segfault at 10 ip 0000562b2b74d69c sp 00007fff284a7320 error 4 in postgres[562b2b6bb000+595000] [94740743.468173] Code: 1f 80 00 00 00 00 44 89 e0 48 8b 15 56 0b 82 00 f7 d0 48 98 4c 8b 3c c2 eb 99 0f 1f 40 00 55 48 89 e5 53 48 89 fb 48 83 ec 08 <8b> 7f 10 e8 4c b1 32 00 8b 7b 14 85 ff 75 15 48 89 df 48 8b 5d f8 After some investigations I found that segfault is caused by one type of subscriptions: subscription for huge partitioned tables on publisher and subscriber (via root), subscriptions are created with data_copy=false (source table updated by inserts and partition detaches, and it is huge, data transfer is not compressed so it may take a days). Segfault does not come immediately after subscription creation, but it cause when data is come from the publisher. Then subscriber is restarts, recover, run subscription again, catch segfault and repeat again until subscription is disabled. Subscriptions for tables (small) without partitions works fine. There is difference for publisher server versions: both publishers 16 and 17 cause the segfault on subscriber (version 17.3). postgresql versions 12-16 works for years without any segfault with same partition tables and publications/subscriptions. postgresql-17=17.3-3.pgdg120+1 installed from the repository: http://apt.postgresql.org/pub/repos/apt/ bookworm-pgdg main
В списке pgsql-bugs по дате отправления: