Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Date
Msg-id 20220330061041.GE28503@telsasoft.com
Whole thread Raw
In response to Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations  (Peter Geoghegan <pg@bowt.ie>)
List pgsql-hackers
+                               diff = (int32) (vacrel->NewRelfrozenXid - vacrel->relfrozenxid);
+                               Assert(diff > 0);

Did you see that this crashed on windows cfbot?

https://api.cirrus-ci.com/v1/artifact/task/4592929254670336/log/tmp_check/postmaster.log
TRAP: FailedAssertion("diff > 0", File: "c:\cirrus\src\backend\access\heap\vacuumlazy.c", Line: 724, PID: 5984)
abort() has been called2022-03-30 03:48:30.267 GMT [5316][client backend] [pg_regress/tablefunc][3/15389:0] ERROR:
infiniterecursion detected
 
2022-03-30 03:48:38.031 GMT [5592][postmaster] LOG:  server process (PID 5984) was terminated by exception 0xC0000354
2022-03-30 03:48:38.031 GMT [5592][postmaster] DETAIL:  Failed process was running: autovacuum: VACUUM ANALYZE
pg_catalog.pg_database
2022-03-30 03:48:38.031 GMT [5592][postmaster] HINT:  See C include file "ntstatus.h" for a description of the
hexadecimalvalue.
 

https://cirrus-ci.com/task/4592929254670336

00000000`007ff130 00000001`400b4ef8     postgres!ExceptionalCondition(
            char * conditionName = 0x00000001`40a915d8 "diff > 0", 
            char * errorType = 0x00000001`40a915c8 "FailedAssertion", 
            char * fileName = 0x00000001`40a91598 "c:\cirrus\src\backend\access\heap\vacuumlazy.c", 
            int lineNumber = 0n724)+0x8d [c:\cirrus\src\backend\utils\error\assert.c @ 70]
00000000`007ff170 00000001`402a0914     postgres!heap_vacuum_rel(
            struct RelationData * rel = 0x00000000`00a51088, 
            struct VacuumParams * params = 0x00000000`00a8420c, 
            struct BufferAccessStrategyData * bstrategy = 0x00000000`00a842a0)+0x1038
[c:\cirrus\src\backend\access\heap\vacuumlazy.c@ 724]
 
00000000`007ff350 00000001`402a4686     postgres!table_relation_vacuum(
            struct RelationData * rel = 0x00000000`00a51088, 
            struct VacuumParams * params = 0x00000000`00a8420c, 
            struct BufferAccessStrategyData * bstrategy = 0x00000000`00a842a0)+0x34
[c:\cirrus\src\include\access\tableam.h@ 1681]
 
00000000`007ff380 00000001`402a1a2d     postgres!vacuum_rel(
            unsigned int relid = 0x4ee, 
            struct RangeVar * relation = 0x00000000`01799ae0, 
            struct VacuumParams * params = 0x00000000`00a8420c)+0x5a6 [c:\cirrus\src\backend\commands\vacuum.c @ 2068]
00000000`007ff400 00000001`4050f1ef     postgres!vacuum(
            struct List * relations = 0x00000000`0179df58, 
            struct VacuumParams * params = 0x00000000`00a8420c, 
            struct BufferAccessStrategyData * bstrategy = 0x00000000`00a842a0, 
            bool isTopLevel = true)+0x69d [c:\cirrus\src\backend\commands\vacuum.c @ 482]
00000000`007ff5f0 00000001`4050dc95     postgres!autovacuum_do_vac_analyze(
            struct autovac_table * tab = 0x00000000`00a84208, 
            struct BufferAccessStrategyData * bstrategy = 0x00000000`00a842a0)+0x8f
[c:\cirrus\src\backend\postmaster\autovacuum.c@ 3248]
 
00000000`007ff640 00000001`4050b4e3     postgres!do_autovacuum(void)+0xef5
[c:\cirrus\src\backend\postmaster\autovacuum.c@ 2503]
 

It seems like there should be even more logs, especially since it says:
[03:48:43.119] Uploading 3 artifacts for c:\cirrus\**\*.diffs
[03:48:43.122] Uploaded c:\cirrus\contrib\tsm_system_rows\regression.diffs
[03:48:43.125] Uploaded c:\cirrus\contrib\tsm_system_time\regression.diffs



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Extend compatibility of PostgreSQL::Test::Cluster
Next
From: "Anton A. Melnikov"
Date:
Subject: Re: Possible fails in pg_stat_statements test