qa: Fix `interface_ipc*.py` on NetBSD and prevent future regressions #36587

pull hebasto wants to merge 3 commits into bitcoin:master from hebasto:261021-macos-netbsd changing 5 files +59 −14
  1. hebasto commented at 7:32 AM on October 21, 2026: member

    This PR fixes the interface_ipc*.py tests, which have been failing on NetBSD since #35037.

    As file descriptor budget regressions of this kind recur (see #31537 and #36078), the macOS CI job now models NetBSD's limit so they are caught before merging rather than by nightly NetBSD CI afterwards.

    See the commit messages for details.

  2. qa, refactor: Move `-maxconnections` budget into named constant
    Easy to review using the following:
    ```
    git diff --color-moved=dimmed-zebra --color-moved-ws=allow-indentation-change
    ```
    956f807bdb
  3. qa: Account for `-ipcbind` file descriptors in `-maxconnections`
    Since `-ipcbind` reserves one listening socket plus
    `ipc::DEFAULT_MAX_CONNECTIONS` (16) client slots in `min_required_fds`,
    the framework's `-maxconnections=76` no longer fits the 256 file
    descriptor budget on NetBSD, and every `interface_ipc*.py` node starts
    with "Warning: Reducing -maxconnections ...", which the framework treats
    as a failure.
    
    Lower `-maxconnections` by that reservation on IPC-enabled nodes only,
    so the rest of the suite keeps its P2P connection slots.
    62571e7e67
  4. ci: Enforce NetBSD's 256 file descriptor budget in the macOS job
    On select()-based platforms such as NetBSD, `bitcoind` can use at most
    `FD_SETSIZE` (256) file descriptors, so the functional test framework
    pins `-maxconnections` to that budget. Any change that grows
    `min_required_fds` then makes every node print "Warning: Reducing
    -maxconnections ...", which the framework treats as a failure. Such
    regressions are currently caught only by nightly NetBSD CI (see #31537,
    
    Add a `CI_LIMIT_FD_COUNT` knob that runs functional test node processes
    through a wrapper capping `RLIMIT_NOFILE`, and enable it for the macOS
    native job with NetBSD's value of 256.
    311bc7c3bb
  5. DrahtBot added the label Tests on Oct 21, 2026
  6. DrahtBot commented at 7:32 AM on October 21, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    External sites

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline and AI policy for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  7. hebasto renamed this:
    qa: Fix `interface_ipc*.py` on NetBSD and prevent r
    qa: Fix `interface_ipc*.py` on NetBSD and prevent future regressions
    on Oct 21, 2026
  8. hebasto closed this on Oct 21, 2026

  9. hebasto reopened this on Oct 21, 2026

  10. DrahtBot added the label CI failed on Oct 21, 2026
  11. hebasto commented at 7:42 AM on October 21, 2026: member
  12. DrahtBot removed the label CI failed on Oct 21, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-10-24 01:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me