Public Pool logs: frequent “Killing dead clients”, ESOCKETTIMEDOUT and ZMQ reconnects – help needed

Hello Start9 Community,

I’m running a Public Pool service on Start9 (via StartOS), mining on Bitcoin mainnet. Recently I’ve been observing recurring events in the logs that I’d like help understanding and troubleshooting.

:page_facing_up: Log excerpts:

Deleted 6 old statistics  
Deleted 0 old clients  
Killing dead clients  
getblocktemplate tx count: 2162  
getblocktemplate tx count: 2354  
ZMQ Unable to connect, Retrying (multiple times)  
ZMQ Connected  
getblocktemplate tx count: 2404 …  
Killing dead clients  
New Block → getblocktemplate tx count drop …

:question: Issues I’m observing:

  1. Frequent “Killing dead clients” entries – what’s the expected cause and threshold for clients flagged as “dead”?
  2. ZMQ connection loops – logs show “Unable to connect, Retrying” repeatedly before eventually reconnecting. I suspect configuration mismatches or port issues.
  3. getblocktemplate timeouts (ESOCKETTIMEDOUT) in past logs (though I’ve since increased rpcservertimeoutand tuned rpcthreads/rpcworkqueue).

:brain: What I’ve done already:

  • Set rpcservertimeout=300
  • Configured rpcthreads=64, rpcworkqueue=256
  • Public Pool .env has BITCOIN_RPC_TIMEOUT=20000

:bulb: What I’d love feedback on:

  • Could the repeated client kills indicate worker instability, Share timeouts, or misconfigured Keep‑alive? How long before a client is dropped?
  • For ZMQ: common pitfalls in bitcoin.conf (e.g. correct ports for zmqpubhashblock, zmqpubhashtx) or Docker/BIND settings?
  • Any additional bitcoind or pool config tweaks I’ve overlooked?

If anyone has solved similar log patterns or recommends specific config tuning, I’d deeply appreciate the guidance. I can also share snippets of my bitcoin.conf and .env (without sensitive credentials) if that’s helpful.

Thanks in advance for your expertise :slightly_smiling_face:

the “killing dead clients” is a normal message from public-pool, which periodically checks for any miners that are not connected anymore.

rpc timeouts and zmq connection issues usually indicate that bitcoin cannot handle the load. What are your hardware specs and what other services have you running on the same server (which may or may not use bitcoin, but can effect the performance of your server)?

Lenovo ThinkCentre M910Q Tiny – Intel Core i5‑6500T, 16 GB RAM, 2 TB SSD

  • CPU usage: 0.8% – 4%
  • Temperature : 37 °C
  • Memory usage : 9%
  • Disk usage : 44%
  • Running only: Bitcoin Core and Public Pool; no other services or applications on this server

Solo mining setup: using the Bitaxe Gamma 601 ASIC miner with a single BM1370 chip, providing approximately 1.2 TH/s hash power while consuming around 15–17 W.

That should be ok, I run a vm with similar hardware, on pretty much default bitcoin.conf settings. Do the connection errors happen often? It could happen once in a while, but should be rare.

2025-07-14T23:50:47+02:00 getblocktemplate tx count: 2438
2025-07-14T23:51:00+02:00 New Block
2025-07-14T23:51:00+02:00 block height change
2025-07-14T23:51:00+02:00 getblocktemplate tx count: 1143
2025-07-14T23:51:00+02:00 new block
2025-07-14T23:51:01+02:00 Killing dead clients
2025-07-14T23:51:34+02:00 New Block
2025-07-14T23:51:34+02:00 block height change
2025-07-14T23:51:34+02:00 getblocktemplate tx count: 542
2025-07-14T23:51:34+02:00 new block
2025-07-14T23:51:47+02:00 getblocktemplate tx count: 604
2025-07-14T23:52:47+02:00 getblocktemplate tx count: 828
2025-07-14T23:53:47+02:00 getblocktemplate tx count: 1062
2025-07-14T23:54:47+02:00 getblocktemplate tx count: 958
2025-07-14T23:55:47+02:00 getblocktemplate tx count: 1167
2025-07-14T23:56:01+02:00 Killing dead clients
2025-07-14T23:56:47+02:00 getblocktemplate tx count: 1361
2025-07-14T23:57:47+02:00 getblocktemplate tx count: 1562
2025-07-14T23:58:47+02:00 getblocktemplate tx count: 1672
2025-07-14T23:59:31+02:00 New Block
2025-07-14T23:59:31+02:00 block height change
2025-07-14T23:59:31+02:00 getblocktemplate tx count: 488
2025-07-14T23:59:31+02:00 new block
2025-07-14T23:59:47+02:00 getblocktemplate tx count: 549
2025-07-15T00:00:47+02:00 getblocktemplate tx count: 865
2025-07-15T00:01:01+02:00 Deleting statistics
2025-07-15T00:01:01+02:00 Deleted 6 old statistics
2025-07-15T00:01:01+02:00 Deleted 0 old clients
2025-07-15T00:01:01+02:00 Killing dead clients
2025-07-15T00:01:47+02:00 getblocktemplate tx count: 1459
2025-07-15T00:02:47+02:00 getblocktemplate tx count: 1708
2025-07-15T00:03:47+02:00 getblocktemplate tx count: 1950
2025-07-15T00:04:47+02:00 getblocktemplate tx count: 2244
2025-07-15T00:05:47+02:00 getblocktemplate tx count: 2060
2025-07-15T00:06:01+02:00 Killing dead clients
2025-07-15T00:06:47+02:00 getblocktemplate tx count: 2029
2025-07-15T00:07:47+02:00 getblocktemplate tx count: 2273
2025-07-15T00:08:47+02:00 getblocktemplate tx count: 2493
2025-07-15T00:09:47+02:00 getblocktemplate tx count: 2667
2025-07-15T00:10:47+02:00 getblocktemplate tx count: 2801
2025-07-15T00:11:01+02:00 Killing dead clients
2025-07-15T00:11:47+02:00 getblocktemplate tx count: 2869
2025-07-15T00:12:47+02:00 getblocktemplate tx count: 2915
2025-07-15T00:13:47+02:00 getblocktemplate tx count: 2866
2025-07-15T00:14:47+02:00 getblocktemplate tx count: 2884
2025-07-15T00:15:25+02:00 New Block
2025-07-15T00:15:25+02:00 block height change
2025-07-15T00:15:25+02:00 getblocktemplate tx count: 1632
2025-07-15T00:15:25+02:00 new block
2025-07-15T00:15:47+02:00 getblocktemplate tx count: 1714
2025-07-15T00:16:01+02:00 Killing dead clients
2025-07-15T00:16:47+02:00 getblocktemplate tx count: 1966
2025-07-15T00:17:47+02:00 getblocktemplate tx count: 2319
2025-07-15T00:18:47+02:00 getblocktemplate tx count: 2562
2025-07-15T00:19:47+02:00 getblocktemplate tx count: 2788
2025-07-15T00:20:47+02:00 getblocktemplate tx count: 2872
2025-07-15T00:21:01+02:00 Killing dead clients
2025-07-15T00:21:47+02:00 getblocktemplate tx count: 2805
2025-07-15T00:22:47+02:00 getblocktemplate tx count: 2729
2025-07-15T00:23:47+02:00 getblocktemplate tx count: 2843
2025-07-15T00:24:47+02:00 getblocktemplate tx count: 3196
2025-07-15T00:25:47+02:00 getblocktemplate tx count: 3374
2025-07-15T00:25:54+02:00 New Block
2025-07-15T00:25:54+02:00 block height change
2025-07-15T00:25:54+02:00 getblocktemplate tx count: 1171
2025-07-15T00:25:54+02:00 new block
2025-07-15T00:26:01+02:00 Killing dead clients
2025-07-15T00:26:47+02:00 getblocktemplate tx count: 1441
2025-07-15T00:27:47+02:00 getblocktemplate tx count: 1603
2025-07-15T00:28:47+02:00 getblocktemplate tx count: 1900
2025-07-15T00:29:47+02:00 getblocktemplate tx count: 2127
2025-07-15T00:30:47+02:00 getblocktemplate tx count: 2344
2025-07-15T00:31:01+02:00 Killing dead clients
2025-07-15T00:31:47+02:00 getblocktemplate tx count: 2635
2025-07-15T00:31:52+02:00 New Block
2025-07-15T00:31:52+02:00 block height change
2025-07-15T00:31:52+02:00 getblocktemplate tx count: 300
2025-07-15T00:31:52+02:00 new block
2025-07-15T00:32:47+02:00 getblocktemplate tx count: 691
2025-07-15T00:33:47+02:00 getblocktemplate tx count: 1027
2025-07-15T00:34:47+02:00 getblocktemplate tx count: 1265
2025-07-15T00:35:47+02:00 getblocktemplate tx count: 1536
2025-07-15T00:36:01+02:00 Killing dead clients
2025-07-15T00:36:47+02:00 getblocktemplate tx count: 1779
2025-07-15T00:37:47+02:00 getblocktemplate tx count: 2123
2025-07-15T00:38:47+02:00 getblocktemplate tx count: 2327
2025-07-15T00:39:47+02:00 getblocktemplate tx count: 2525
2025-07-15T00:40:47+02:00 getblocktemplate tx count: 2732
2025-07-15T00:41:01+02:00 Killing dead clients
2025-07-15T00:41:47+02:00 getblocktemplate tx count: 2950
2025-07-15T00:42:47+02:00 getblocktemplate tx count: 3024
2025-07-15T00:43:47+02:00 getblocktemplate tx count: 3100
2025-07-15T00:44:47+02:00 getblocktemplate tx count: 3131
2025-07-15T00:45:41+02:00 New Block
2025-07-15T00:45:41+02:00 block height change
2025-07-15T00:45:42+02:00 getblocktemplate tx count: 1049
2025-07-15T00:45:42+02:00 new block
2025-07-15T00:45:47+02:00 getblocktemplate tx count: 1060
2025-07-15T00:46:01+02:00 Killing dead clients
2025-07-15T00:46:47+02:00 getblocktemplate tx count: 1289
2025-07-15T00:47:47+02:00 getblocktemplate tx count: 1659
2025-07-15T00:48:47+02:00 getblocktemplate tx count: 1943
2025-07-15T00:49:47+02:00 getblocktemplate tx count: 2253
2025-07-15T00:50:47+02:00 getblocktemplate tx count: 2565
2025-07-15T00:51:01+02:00 Killing dead clients
2025-07-15T00:51:47+02:00 getblocktemplate tx count: 2765
2025-07-15T00:52:29+02:00 New Block
2025-07-15T00:52:29+02:00 block height change
2025-07-15T00:52:29+02:00 getblocktemplate tx count: 2
2025-07-15T00:52:29+02:00 new block
2025-07-15T00:52:47+02:00 getblocktemplate tx count: 45
2025-07-15T00:53:47+02:00 getblocktemplate tx count: 514
2025-07-15T00:54:14+02:00 New Block
2025-07-15T00:54:14+02:00 block height change
2025-07-15T00:54:14+02:00 getblocktemplate tx count: 49
2025-07-15T00:54:14+02:00 new block
2025-07-15T00:54:47+02:00 getblocktemplate tx count: 129
2025-07-15T00:55:47+02:00 getblocktemplate tx count: 516
2025-07-15T00:56:01+02:00 Killing dead clients

is this often?
it comes every 5 blocktemplates

there are no errors here, you’re good :+1:

the “killing dead clients” message is just a notification in the code of public-pool when it checks for unresponsive clients, even if there aren’t any.

1 Like