Hi, The openbsd/netbsd CI tasks are occasionally failing due to reaching the process limit. See e.g. https://cirrus-ci.com/task/5559228405907456 +psql: error: connection to server on socket "/tmp/pg_regress-nQ1wk1/.s.PGSQL.40056" failed: could not fork new process for connection: Resource temporarily unavailable
This is due to the ulimit -p 256 in .cirrus.tasks.yml not being high enough. The ulimit on openbsd couldn't trivially be increased with ulimit, because of hitting the hard limit. Instead of increasing the limit in the CI script, the CI image generation now increases the limits: https://github.com/anarazel/pg-vm-images/pull/129 I plan to push this patch soon. Greetings, Andres Freund
>From ae6334f514403b60a23d31ab5adfa3ccd29c1a83 Mon Sep 17 00:00:00 2001 From: Andres Freund <[email protected]> Date: Mon, 5 Jan 2026 13:09:03 -0500 Subject: [PATCH v1] ci: Remove ulimit -p for netbsd/openbsd Previously the ulimit -p 256 was needed to increase the limit on openbsd. However, sometimes the limit actually was too low, causing "could not fork new process for connection: Resource temporarily unavailable" errors. Most commonly on netbsd, but also on openbsd. The ulimit on openbsd couldn't trivially be increased with ulimit, because of hitting the hard limit. Instead of increasing the limit in the CI script, the CI image generation now increases the limits: https://github.com/anarazel/pg-vm-images/pull/129 Backpatch-through: 18 --- .cirrus.tasks.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index 038d043d00e..745bd198b42 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -384,9 +384,6 @@ task: su postgres <<-EOF set -e ulimit -c unlimited - # Otherwise tests will fail on OpenBSD, due to inability to start enough - # processes. - ulimit -p 256 meson test $MTEST_ARGS --num-processes ${TEST_JOBS} EOF -- 2.48.1.76.g4e746b1a31.dirty
