postgres.git / summary / log / commit / refs
commit 61e64cb19a08c23dca1df46f1ae09df514059fc6
Author: Andres Freund <andres@anarazel.de>
Date: Tue Sep 01 14:32:41 2026 +0000
Make after-startup shmem failure test reliable
The test expects a 128 kB request to exceed the shared memory available after
startup. Huge pages can round up the main shared memory segment enough for
that request to succeed, defeating the test.
Disable huge pages for the allocation-failure phase so that it exercises the
intended error path independently of shared memory segment rounding.
Author: Ayush Tiwari <ayushtiwari.slg01@gmail.com>
Reported-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/rpkhzrrmo7qiz7rr3qlufksb2oci33wcg3ao75le7dqindgoif@6yozkjwb6bdf
Backpatch-through: 19
src/test/modules/test_shmem/t/001_late_shmem_alloc.pl | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/test/modules/test_shmem/t/001_late_shmem_alloc.pl b/src/test/modules/test_shmem/t/001_late_shmem_alloc.pl
index a7126ebce3f..9432b42181b 100644
--- a/src/test/modules/test_shmem/t/001_late_shmem_alloc.pl
+++ b/src/test/modules/test_shmem/t/001_late_shmem_alloc.pl
@@ -125,6 +125,9 @@ SKIP:
###
# Test "out of shared memory" in an after-startup request
###
+# Huge pages round up the main shared memory segment, which can leave more
+# unused space than the request below. Disable them to make the test reliable.
+$node->append_conf('postgresql.conf', 'huge_pages = off');
$node->start;
my $session = $node->background_psql('postgres', on_error_stop => 0);
[parent: ef67d599eff8]