diff -U3 /Users/admin/pgsql/src/test/modules/injection_points/expected/crash.out /Users/admin/pgsql/build/testrun/injection_points/isolation/results/crash.out --- /Users/admin/pgsql/src/test/modules/injection_points/expected/crash.out 2025-02-20 16:35:17 +++ /Users/admin/pgsql/build/testrun/injection_points/isolation/results/crash.out 2025-02-20 16:40:43 @@ -23,4 +23,16 @@ step c2: COMMIT; ERROR: could not serialize access due to read/write dependencies among transactions -step c3: COMMIT; +s2: WARNING: AbortTransaction while in ABORT state +ERROR: ResourceOwnerEnlarge called after release started +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. + +s3: 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 another 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. +PQconsumeInput failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. + diff -U3 /Users/admin/pgsql/src/test/modules/injection_points/expected/inplace.out /Users/admin/pgsql/build/testrun/injection_points/isolation/results/inplace.out --- /Users/admin/pgsql/src/test/modules/injection_points/expected/inplace.out 2025-02-20 16:35:17 +++ /Users/admin/pgsql/build/testrun/injection_points/isolation/results/inplace.out 2025-02-20 16:40:43 @@ -1,340 +1,3 @@ Parsed test spec with 3 sessions - -starting permutation: vac1 grant2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: begin2 grant2 vac1 c2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step c2: COMMIT; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: begin2 grant2 vac1 r2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step r2: ROLLBACK; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: begin2 grant2 vac1 c2 revoke2 grant2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step c2: COMMIT; -step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: vac1 begin2 grant2 revoke2 mkrels3 c2 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step c2: COMMIT; -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: begin2 grant2 vac1 r2 grant2 revoke2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step r2: ROLLBACK; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - - -starting permutation: begin2 grant2 vac1 c2 revoke2 vac3 mkrels3 read1 -mkrels ------- - -(1 row) - -injection_points_attach ------------------------ - -(1 row) - -step begin2: BEGIN; -step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; -step vac1: VACUUM vactest.orig50; -- wait during inplace update -step c2: COMMIT; -step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; -step vac3: VACUUM pg_class; -step mkrels3: - SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - SELECT injection_points_detach('inplace-before-pin'); - SELECT injection_points_wakeup('inplace-before-pin'); - -mkrels ------- - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -step vac1: <... completed> -step read1: - REINDEX TABLE pg_class; -- look for duplicates - SELECT reltuples = -1 AS reltuples_unknown - FROM pg_class WHERE oid = 'vactest.orig50'::regclass; - -reltuples_unknown ------------------ -f -(1 row) - +Connection 0 failed: connection to server on socket "/var/folders/xf/_tm0f94d66n8kr12tqwrylrr0000gn/T//pg_regress-RaTLCM/.s.PGSQL.40061" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff -U3 /Users/admin/pgsql/src/test/modules/injection_points/expected/syscache-update-pruned_1.out /Users/admin/pgsql/build/testrun/injection_points/isolation/results/syscache-update-pruned.out --- /Users/admin/pgsql/src/test/modules/injection_points/expected/syscache-update-pruned_1.out 2025-02-20 16:35:17 +++ /Users/admin/pgsql/build/testrun/injection_points/isolation/results/syscache-update-pruned.out 2025-02-20 16:40:43 @@ -1,86 +1,3 @@ Parsed test spec with 4 sessions - -starting permutation: cachefill1 at2 waitprunable4 vac4 grant1 wakeinval4 wakegrant4 -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -step wakegrant4: <... completed> - -starting permutation: cachefill1 at2 waitprunable4 vac4 grant1 wakeinval4 mkrels4 wakegrant4 -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step mkrels4: - SELECT FROM vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -step wakegrant4: <... completed> - -starting permutation: snap3 cachefill1 at2 mkrels4 r3 waitprunable4 vac4 grant1 wakeinval4 at4 wakegrant4 inspect4 -step snap3: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT; -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step mkrels4: - SELECT FROM vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - -step r3: ROLLBACK; -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step at4: ALTER TABLE vactest.child50 INHERIT vactest.orig50; -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -ERROR: tuple concurrently updated -step wakegrant4: <... completed> -step inspect4: - SELECT relhastriggers, relhassubclass FROM pg_class - WHERE oid = 'vactest.orig50'::regclass; - -relhastriggers|relhassubclass ---------------+-------------- -t |t -(1 row) - +Connection 0 failed: connection to server on socket "/var/folders/xf/_tm0f94d66n8kr12tqwrylrr0000gn/T//pg_regress-RaTLCM/.s.PGSQL.40061" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached.