On Mon, Jul 7, 2025 at 9:53 PM Noah Misch <n...@leadboat.com> wrote: > If it continues to be a problem, consider sharing the patch that's behaving > this way for you.
Attached patch shows my current progress with the isolation test. I also attach diff output of the FreeBSD failures. Notice that the line "backwards_scan_session: NOTICE: notice triggered for injection point lock-and-validate-new-lastcurrblkno" is completely absent from the test output. This absence indicates that the desired test coverage is totally missing on FreeBSD -- so the test is completely broken on FreeBSD. I ran "meson test --suite setup --suite nbtree -q --print-errorlogs" in a loop 500 times on my Debian workstation without seeing any failures. Seems stable there. Whereas the FreeBSD target hasn't even passed once out of more than a dozen attempts. Seems to be reliably broken on FreeBSD. Thanks -- Peter Geoghegan
diff -U3 /tmp/cirrus-ci-build/src/test/modules/nbtree/expected/backwards.out /tmp/cirrus-ci-build/build/testrun/nbtree/isolation/results/backwards.out --- /tmp/cirrus-ci-build/src/test/modules/nbtree/expected/backwards.out 2025-07-08 14:58:24.118145000 +0000 +++ /tmp/cirrus-ci-build/build/testrun/nbtree/isolation/results/backwards.out 2025-07-08 15:01:24.642562000 +0000 @@ -1,24 +1,7 @@ Parsed test spec with 2 sessions starting permutation: b_scan i_insert i_detach -step b_scan: SELECT * FROM backwards_scan_tbl WHERE col % 100 = 1 ORDER BY col DESC; <waiting ...> -step i_insert: INSERT INTO backwards_scan_tbl SELECT i FROM generate_series(-2000, 700) i; -step i_detach: - SELECT injection_points_detach('lock-and-validate-left'); - SELECT injection_points_wakeup('lock-and-validate-left'); - -injection_points_detach ------------------------ - -(1 row) - -injection_points_wakeup ------------------------ - -(1 row) - -backwards_scan_session: NOTICE: notice triggered for injection point lock-and-validate-new-lastcurrblkno -step b_scan: <... completed> +step b_scan: SELECT * FROM backwards_scan_tbl WHERE col % 100 = 1 ORDER BY col DESC; col --- 601 @@ -30,3 +13,14 @@ 1 (7 rows) +step i_insert: INSERT INTO backwards_scan_tbl SELECT i FROM generate_series(-2000, 700) i; +step i_detach: + SELECT injection_points_detach('lock-and-validate-left'); + SELECT injection_points_wakeup('lock-and-validate-left'); + +injection_points_detach +----------------------- + +(1 row) + +ERROR: could not find injection point lock-and-validate-left to wake up
0001-injection-points.patch
Description: Binary data