Hi, On April 1, 2023 9:00:00 AM PDT, Alexander Lakhin <exclus...@gmail.com> wrote: >Hello Robert, > >31.03.2023 23:00, Robert Haas wrote: >> That looks like a reasonable fix but I can't reproduce the problem >> locally. I thought the reason why that machine sees the problem might >> be that it uses -DRELCACHE_FORCE_RELEASE, but I tried that option here >> and the tests still pass. Anyone ideas how to reproduce? > >I've managed to reproduce it using the following script: >for ((i=1;i<=10;i++)); do >echo "iteration $i" >echo " >CREATE ROLE sub_user; >CREATE SUBSCRIPTION testsub CONNECTION 'dbname=db' > PUBLICATION testpub WITH (connect = false); >ALTER SUBSCRIPTION testsub ENABLE; >DROP SUBSCRIPTION testsub; >SELECT pg_sleep(0.001); >DROP ROLE sub_user; >" | psql >psql -c "ALTER SUBSCRIPTION testsub DISABLE;" >psql -c "ALTER SUBSCRIPTION testsub SET (slot_name = NONE);" >psql -c "DROP SUBSCRIPTION testsub;" >grep 'TRAP' server.log && break >done > >iteration 3 >CREATE ROLE >... >ALTER SUBSCRIPTION >WARNING: terminating connection because of crash of another server process >DETAIL: The postmaster has commanded this server process to roll back the >current transaction and exit, because ano >ther server process exited abnormally and possibly corrupted shared memory. >HINT: In a moment you should be able to reconnect to the database and repeat >your command. >server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. >connection to server was lost >TRAP: failed Assert("IsTransactionState()"), File: "catcache.c", Line: 1208, >PID: 1001242
Errors like that are often easier to reproduce with clobber caches (or whatever the name is these days) enabled. Andres -- Sent from my Android device with K-9 Mail. Please excuse my brevity.