The PoolCounter test suite is flappy, specially on CI it usually fails with traces such as:
Scenario: Just readers # features/simulation.feature:2 When I start 1024 reader like sims # features/step_definitions/sim_steps.rb:1 Can't keep trying. Giving up. Can't keep trying. Giving up. And wait 10 seconds # features/step_definitions/sim_steps.rb:19 Then all sims report success # features/step_definitions/sim_steps.rb:22 Cannot assign requested address - connect(2) for 127.0.0.1:7531 (Errno::EADDRNOTAVAIL) ./features/support/client.rb:51:in `connect' ./features/support/client.rb:51:in `connect' ./features/support/client.rb:14:in `request' ./features/support/sim.rb:56:in `send_to_client' ./features/support/reader_sim.rb:8:in `act' ./features/support/sim.rb:23:in `block in start' features/simulation.feature:5:in `Then all sims report success'
Some scenario spawn 1024 clients connecting to the daemon, the logic being in daemon/tests/features/support/client.rb. There is a note about EADDRNOTAVAIL. To work around exhaustion of TCP ephemeral ports, the client bind with SO_REUSEADDR in an attempt to reuse a port, but there is still a failure eventually.
With 1024 clients spawned, maybe that reach the file descriptor limit which seems to default to 1024?