I need to know why a pool won't mine a block

I’m a pool operator and my pool is up running and sync, but I have a bunch of missing slots, its impossible to diagnose why its happening.
I already checked KES and its all good in terms of permissions.
I see no reason a pool with 2.9M active stake can’t mine a block, maybe you guys can give me some times on where to look because none of my tools can do that. The prometheus shows an elevated number of missing slots, log files are huge and I can’t use them for nothing useful at all.
I’m on CNTOOLS 1.27.0 node version on a VPS.

What is the ticker?
Also can u share the glive output for Producer and Relay?

My pool is CHEFF,

thank you

I checked the leader logs, probably its bad luck…

acc. to pooltool your stake is 900k, so you are not guaranteed to make a block every epoch. Generally a missed slot happens when your server is busy doing other stuff instead of working on cardano-node.
To eliminate missed slot (and disappointment of delegators, you may try moving from a shared HW to a dedicated HW. With the amount of stake you have, it is worth doing.

The node does not processing TX, did u set the TraceMempool to false?

1 Like

reading all this tech problems and etc leave me no other option than say a big thank you all for the hard work you all doing for cardano community.
thumbs up :+1:

yes. you are good, I did it.

unfortunately its not an option, I can’t run a hardware in my home, no stable internet, in VPS I have stability of connection and energy.

I dont have anything running on the node besides cardano cli and prometheus.
do you think that can be a reason for the missed blocks?

thank you for the assistance… the dedicated server options are too expensive for me, I’d have to pay 128 euros for a server like that and my pool is not profitable yet…

If cncli shows no blocks assigned then hw configuration should not be the issue

I am running MESH and I see some sort of similar level of missed blocks that occurs just after disk usage peaks. Having 12 even 60 missed slots a day over thousands of slots make a very small chance that your pool would miss block minting. I would not worry too much about it. Keep it updated, get out prometheus and all unnecessary processes from producer vm, run it smooth then soon you will see your block :slight_smile:

But if anyone knows why we see missed blocks just after a 50Mb/s ssd disk spikes and knows a way to eliminate them - I would love to hear that too.

I’ve noticed my pool misses slots every hour or two, usually correlated with (what looks like) a mempool compaction on the core node. Probably worth noting this does NOT mean you’re missing out on minting a block, it’s just that your node is missing a slot, every so often. Not ideal, but not necessarily a huge problem.

Hello, our nodes are running on dedicated HW and they almost never miss a block, I was checking in grafana and we have about 1 - 3 missed blocks a week, for last 24h there is usually 0 missed.

But given that the HW is dedicated, we never get any storage spikes (the storage itself is CEPH built out of SSD OSDs).

So I suppose that your missed blocks are related to poor storage performance, I think that IO waits and IOPS are more important that actual throughput

1 Like

btw in past I also observed that disabling swap may help if you have enough RAM, when memory pages are being swapped out the process that owns them is temporarily (although extremely shortly) frozen, which in real time application like cardano-node could be a problem resulting in missed slots. Check swap activity if you can correlate missed blocks with some spikes in memory pages being swapped out.

my current script running at 1.30.1 wont work anymore. can you guys can run this leader logs in the current nodes?

cncli leaderlog --pool-id d425fd2cf93347999106b8fbb463cc87af26791d8d31d957193204db \

–pool-vrf-skey /opt/cardano/cnode/priv/pool/welon/myPool.vrf.skey \

–byron-genesis /opt/cardano/cnode/files/byron-genesis.json \

–shelley-genesis /opt/cardano/cnode/files/genesis.json \

–pool-stake $(cat snapshot.json | jq .poolStakeMark) \

–active-stake $(cat snapshot.json | jq .activeStakeMark) \

–db cncli.db \

–tz Europe/London

“status”: “error”,
“errorMessage”: “db not fully synced! system_time: 1634148366, tip_time: 1630269668”

sync your db first

./cncli.sh sync and wait till u will see 100% 2-3 times

1 Like