Re: BUG #15672: PostgreSQL 11.1/11.2 crashed after dropping a partition table

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: jianingy(dot)yang(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15672: PostgreSQL 11.1/11.2 crashed after dropping a partition table
Date: 2019-03-07 00:03:16
Message-ID: 20190307000316.GB17293@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Wed, Mar 06, 2019 at 03:06:53PM +0000, PG Bug reporting form wrote:
> 1. create a partition table with the following constraints
> a. with a unique key on partition key and a varchar type field
> b. using hash partition
> 2. alter the length of the varchar type field
> 3. drop the partition table in a transaction
> 4. crash

I can reproduce the failure easily, not on HEAD but with
REL_11_STABLE:
(gdb) bt
#0 __GI_raise (sig=sig(at)entry=6) at
../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f585729b535 in __GI_abort () at abort.c:79
#2 0x000055eef597e60a in errfinish (dummy=0) at elog.c:555
#3 0x000055eef5980c50 in elog_finish (elevel=22, fmt=0x55eef5a41408
"cannot abort transaction %u, it was already committed") at
elog.c:1376
#4 0x000055eef5479647 in RecordTransactionAbort (isSubXact=false) at
xact.c:1580
#5 0x000055eef547a6c0 in AbortTransaction () at xact.c:2602
#6 0x000055eef547aef4 in AbortCurrentTransaction () at xact.c:3104

That's worth an investigation, SMgrRelationHash is getting messed up
which causes the transaction commit to fail where it should not.
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Amit Langote 2019-03-07 02:17:11 Re: BUG #15672: PostgreSQL 11.1/11.2 crashed after dropping a partition table
Previous Message Julien Rouhaud 2019-03-06 23:35:45 Re: Instalation Bug

Browse pgsql-hackers by date

  From Date Subject
Next Message Imai, Yoshikazu 2019-03-07 00:59:07 RE: speeding up planning with partitions
Previous Message Michael Paquier 2019-03-06 23:52:51 Re: pgsql: Removed unused variable, openLogOff.