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

Attachment: 0001-injection-points.patch
Description: Binary data

Reply via email to