logical replication WIP: FailedAssertion("!(list_length(stmt->tables) > 0)", File: "publicationcmds.c", Line: 350)

From: Erik Rijkers <er(at)xs4all(dot)nl>
To: petr(at)2ndquadrant(dot)com, pgsql-hackers(at)postgresql(dot)org
Subject: logical replication WIP: FailedAssertion("!(list_length(stmt->tables) > 0)", File: "publicationcmds.c", Line: 350)
Date: 2016-09-08 17:40:05
Message-ID: 7c21596ce0fa7004f21b1647302c1a34@xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I found these steps to a reliable crash (I know the patch is WIP but I
assume you want to hear about these).

(Running a single instance suffices)

psql (10devel_logical_replication_20160901_1237_6f7c0ea32f80)
Type "help" for help.

(PID 9809) [testdb] # CREATE PUBLICATION pub_all;
CREATE PUBLICATION

(PID 9809) [testdb] # ALTER PUBLICATION pub_all FOR ALL TABLES;
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
Time: 40851.246 ms
(PID ) [] ? >

Logfile:
[...]
2016-09-08 19:24:43.157 CEST 9765 LOG: MultiXact member wraparound
protections are now enabled
2016-09-08 19:24:43.160 CEST 9770 LOG: logical replication launcher
started
2016-09-08 19:24:43.160 CEST 9764 LOG: database system is ready to
accept connections
TRAP: FailedAssertion("!(list_length(stmt->tables) > 0)", File:
"publicationcmds.c", Line: 350)
2016-09-08 19:25:45.673 CEST 9764 LOG: server process (PID 9809) was
terminated by signal 6: Aborted
2016-09-08 19:25:45.673 CEST 9764 DETAIL: Failed process was running:
ALTER PUBLICATION pub_all FOR ALL TABLES;
2016-09-08 19:25:45.674 CEST 9764 LOG: terminating any other active
server processes
2016-09-08 19:25:45.676 CEST 9764 LOG: all server processes terminated;
reinitializing
2016-09-08 19:25:47.463 CEST 9819 LOG: database system was interrupted;
last known up at 2016-09-08 19:24:43 CEST
2016-09-08 19:25:47.465 CEST 9820 FATAL: the database system is in
recovery mode
2016-09-08 19:25:47.493 CEST 9819 LOG: database system was not properly
shut down; automatic recovery in progress
2016-09-08 19:25:47.494 CEST 9819 LOG: redo starts at 0/A6D8C070
2016-09-08 19:25:47.494 CEST 9819 LOG: invalid record length at
0/A6D8D498: wanted 24, got 0
2016-09-08 19:25:47.494 CEST 9819 LOG: redo done at 0/A6D8D460
2016-09-08 19:25:47.494 CEST 9819 LOG: last completed transaction was
at log time 2016-09-08 19:25:00.774988+02
2016-09-08 19:25:47.511 CEST 9819 LOG: MultiXact member wraparound
protections are now enabled
2016-09-08 19:25:47.514 CEST 9826 LOG: logical replication launcher
started
2016-09-08 19:25:47.515 CEST 9764 LOG: database system is ready to
accept connections

Thanks,

Erik Rijkers

(BTW, the issue I reported a few days ago was indeed avoided when I
created a receiving table subscriber-side, thanks)

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-09-08 17:40:36 Re: Is tuplesort_heap_siftup() a misnomer?
Previous Message Masahiko Sawada 2016-09-08 17:32:14 DISABLE_PAGE_SKIPPING option for vacuumdb