Re: Re: [COMMITTERS] pgsql: Enable logical slots to follow timeline switches - Mailing list pgsql-hackers

From Petr Jelinek
Subject Re: Re: [COMMITTERS] pgsql: Enable logical slots to follow timeline switches
Date
Msg-id CALLjQTRTLzwKpZOMfpsOaCHLaq6LQ6vttuCq4KZ-iiJk_cKHiA@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Enable logical slots to follow timeline switches  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: Re: [COMMITTERS] pgsql: Enable logical slots to follow timeline switches  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-hackers
On 01/04/16 03:49, Alvaro Herrera wrote:
> Moving thread to -hackers, CC'ing Craig.
>
> Michael Paquier wrote:
>
>> hamster complains here:
>> http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hamster&dt=2016-03-31%2016%3A00%3A06
>> [...]
>> # Copying slots to replica
>> after_basebackup|test_decoding||547|0/5000060|0/5000098
>> # Copying slot 'after_basebackup','test_decoding',NULL,'547','0/5000060','0/5000098'
>> connection error: 'psql:<stdin>:1: server closed the connection unexpectedly
>> This probably means the server terminated abnormally
>> before or while processing the request.
>> psql:<stdin>:1: connection to server was lost'
>
> Ahem.
>
> So, I see this:
>
> DEBUG:  server process (PID 24166) exited with exit code 0
> DEBUG:  forked new backend, pid=24168 socket=7
> LOG:  statement: SELECT test_slot_timelines_advance_logical_slot('after_basebackup', NULL, '547', '0/5000060',
'0/5000098');
> DEBUG:  server process (PID 24168) was terminated by signal 11: Segmentation fault
> DETAIL:  Failed process was running: SELECT test_slot_timelines_advance_logical_slot('after_basebackup', NULL, '547',
'0/5000060','0/5000098');
 
> LOG:  server process (PID 24168) was terminated by signal 11: Segmentation fault
>
> in pgsql.build/src/test/recovery/tmp_check/log/006_logical_decoding_timelines_replica2.log
>
> Could you have a look at whether you have core dumps from these?  If so,
> backtraces would be very useful.
>

The function does following:
TransactionId new_xmin = (TransactionId) PG_GETARG_INT64(1);

And we are passing NULL as that parameter, that could explain this.
Also while reading it I wonder if the function should be defined with
xid type rather than bigint and use similar input code as xid.c.

--   Petr Jelinek                  http://www.2ndQuadrant.com/  PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Updated backup APIs for non-exclusive backups
Next
From: Robbie Harwood
Date:
Subject: Re: [PATCH v10] GSSAPI encryption support