Re: BUG #17072: Assert for clogGroupNext failed due to a race condition in TransactionGroupUpdateXidStatus()
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2021-06-24T16:15:00Z
Lists: pgsql-bugs
Attachments
- clog-diagnostics.patch (text/x-patch) patch
- clog-debug.patch (text/x-patch) patch
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
Commits
-
Fix race condition in TransactionGroupUpdateXidStatus().
- b786304c2904 14.0 landed
- b75c1f6879c5 12.8 landed
- c62c3769ff61 11.13 landed
- 741deb2603c7 13.4 landed