Skip to content

Commit fa3de03

Browse files
committed
Merge bitcoin/bitcoin#31537: qa: Limit -maxconnections in tests
d9d5bc2 qa: Limit `-maxconnections` in tests (Hennadii Stepanov) Pull request description: On systems such as NetBSD, the `bitcoind` typically prints the following warning: ``` Warning: Reducing -maxconnections from 125 to 96, because of system limitations. ``` This breaks the functional test framework (see bitcoin/bitcoin#23968). This PR limits the `-maxconnections` to mitigate the issue and enable functional tests on NetBSD. Fixes bitcoin/bitcoin#23968. Here is CI log from the [`bitcoin-core-nightly`](https://github.com/hebasto/bitcoin-core-nightly) repository: https://github.com/hebasto/bitcoin-core-nightly/actions/runs/12415868523/job/34663207030 ACKs for top commit: maflcko: re-ACK d9d5bc2 achow101: ACK d9d5bc2 mzumsande: Code Review ACK d9d5bc2 tdb3: tested ACK d9d5bc2 Tree-SHA512: ad02adce98ce609176c9688289a0ca347932da5b6f259c6ab4e686914352f3d61f819adc150be80220f969200ee6a0c1c8737426525816fa0df58d688c51410c
2 parents ba0cb7d + d9d5bc2 commit fa3de03

File tree

1 file changed

+11
-0
lines changed
  • test/functional/test_framework

1 file changed

+11
-0
lines changed

test/functional/test_framework/util.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,17 @@ def write_config(config_path, *, n, chain, extra_config="", disable_autoconnect=
453453
f.write("unsafesqlitesync=1\n")
454454
if disable_autoconnect:
455455
f.write("connect=0\n")
456+
# Limit max connections to mitigate test failures on some systems caused by the warning:
457+
# "Warning: Reducing -maxconnections from <...> to <...> due to system limitations".
458+
# The value is calculated as follows:
459+
# available_fds = 256 // Same as FD_SETSIZE on NetBSD.
460+
# MIN_CORE_FDS = 151 // Number of file descriptors required for core functionality.
461+
# MAX_ADDNODE_CONNECTIONS = 8 // Maximum number of -addnode outgoing nodes.
462+
# nBind == 3 // Maximum number of bound interfaces used in a test.
463+
#
464+
# min_required_fds = MIN_CORE_FDS + MAX_ADDNODE_CONNECTIONS + nBind = 151 + 8 + 3 = 162;
465+
# nMaxConnections = available_fds - min_required_fds = 256 - 161 = 94;
466+
f.write("maxconnections=94\n")
456467
f.write(extra_config)
457468

458469

0 commit comments

Comments
 (0)