Re: BUG #17072: Assert for clogGroupNext failed due to a race condition in TransactionGroupUpdateXidStatus()

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17072: Assert for clogGroupNext failed due to a race condition in TransactionGroupUpdateXidStatus()
Date: 2021-06-24 16:15:00
Message-ID: 1ede0650-1fe1-9ab4-af34-64eda8fec665@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

24.06.2021 19:00, PG Bug reporting form wrote:
> With some diagnostic output added I've got in the server log:
The diagnostic patch is attached.

I could not find an easy reproduction for the issue, so I can propose
only dirty one, with the special debug patch and the following script:

for i in `seq 100`; do
createdb db$i
done

echo "
CREATE TABLE tst (i INT);
INSERT INTO tst SELECT i FROM generate_series(1,100) i;
DROP TABLE tst;
" >/tmp/action.sql

for n in `seq 100`; do
  echo "iteration $n"
  for i in `seq 100`; do
    ( { for f in `seq 10`; do cat /tmp/action.sql; done } | psql -d db$i
) >psql-$i.log 2>&1 &
  done
  wait
  coredumpctl --no-pager && break
done

(You need to set max_connections = 100 in postgresql.conf.)
This script with the patched server fails for me on iterations 66, 12, 12.

Best regards,
Alexander

Attachment Content-Type Size
clog-diagnostics.patch text/x-patch 2.4 KB
clog-debug.patch text/x-patch 1.4 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2021-06-25 02:11:57 BUG #17073: docs - "Improve signal handling reliability"
Previous Message PG Bug reporting form 2021-06-24 16:00:01 BUG #17072: Assert for clogGroupNext failed due to a race condition in TransactionGroupUpdateXidStatus()