I received this notification...not sure what to make of it, other than what it says. Hoping someone can clarify. [ERR] MINR: failed to check template: Error in stake consensus: The number of SSgen tx in block ___ was not the 3 voters expected from the header! [ERR] RPCS: Failed to create new block template: Error in stake consensus: The number of SSGen tx in block ____ was not the 3 voters expected from the header!
If you can post the block hashes, they could be helpful in debugging. I dont think this should be happening. It means that the hash/header of the block didn't match with content (selected voting tickets for the block). I am not sure why this would happen. I think your coins are safe but a particular block was not correctly created. I hope @davecgh & other devs can explain and take a look at this. Thanks for reporting this, its very much appreciated.
I would guess the reason is that a wallet that bought the ticket was not running or was locked. ==== ccminer ==== [2016-02-22 09:52:35] JSON-RPC call failed: Error in stake consensus: The number of SSGen tx in block dde7c2b613d830ea57d151cfea85edcbb3adec097256b7ed23d08b40c25b6b72 was not the 4 voters expected from the header! ==== daemon ==== 09:52:35 2016-02-22 [DBG] MINR: Too few voters found on any HEAD block, recycling a parent block to mine on 09:52:35 2016-02-22 [TRC] CHAN: CheckBlockStakeSanity failed for incoming node dde7c2b613d830ea57d151cfea85edcbb3adec097256b7ed23d08b40c25b6b72; error given: Error in stake consensus: The number of SSGen tx in block dde7c2b613d830ea57d151cfea85edcbb3adec097256b7ed23d08b40c25b6b72 was not the 4 voters expected from the header! 09:52:35 2016-02-22 [ERR] MINR: failed to check template: Error in stake consensus: The number of SSGen tx in block dde7c2b613d830ea57d151cfea85edcbb3adec097256b7ed23d08b40c25b6b72 was not the 4 voters expected from the header! 09:52:35 2016-02-22 [ERR] RPCS: Failed to create new block template: Error in stake consensus: The number of SSGen tx in block dde7c2b613d830ea57d151cfea85edcbb3adec097256b7ed23d08b40c25b6b72 was not the 4 voters expected from the header! 09:52:35 2016-02-22 [DBG] PEER: Received inv (size 5) from 178.33.228.14:9108 (outbound) 09:52:35 2016-02-22 [TRC] PEER: (*wire.MsgInv)(0xc821eda660)({ InvList: ([]*wire.InvVect) (len=5 cap=5) { (*wire.InvVect)(0xc823840270)({ ... ...
I realize that my "coins are safe" as it's a mining issue and not a wallet issue. I didn't include the block, because I would have to type it out manually. If a dev needed it for debugging, I could provide it. @root I don't have a complete understanding of POS, but I would think that if a wallet was called upon to vote, and it wasn't present, another wallet would be chosen instead? Would I be correct in my thinking that I potentially solved a block, but there was some kind of voting issue that failed to validate it?
This happened again. I have included the block hash info this time. Has this happened to anyone else? 15:04:40 2016-02-22 [ERR] MINR: failed to check template: Error in stake consensus: The number of SSgen tx in block 7d2884197b27d11df888647eb5544d440d90a9be91fe68b3f32524964bfb9069 was not the 3 voters expected from the header! [ERR] RPCS: Failed to create new block template: Error in stake consensus: The number of SSGen tx in block 7d2884197b27d11df888647eb5544d440d90a9be91fe68b3f32524964bfb9069 was not the 3 voters expected from the header!
This has been an ongoing rare bug from testnet. There is an issue on GitHub for it. We're currently stuck doing stake pool related things at the moment, but hope to look into it later this week. The issue is caused by an update to the stake transaction tree without simultaneously updating the header. It's likely caused by getwork being keyed to the Merkle root of the regular transaction tree. edit: That fix won't work, it sounds like the getwork handler is creating multiple work items for a single Merkle root. A real fix would probably key work to a [64]byte of (regularRoot || stakeRoot).
Thanks for the response. In layman's terms, does this mean that I initially solved the blocks and was rejected because of the bug? Secondly, should I just mine on a pool for now to avoid the issue? Or should I not expect it to happen too often?
Possible, untested fix here: https://github.com/decred/dcrd/pull/48 If you're feeling brave, you can trying building from this branch and mining. Any feedback is appreciated.
I just had another of the same error. I don't mind testing it, but I have to learn how to compile first...
another one .... but I feel brave enough [2016-02-23 13:48:42] GPU #0: Gigabyte GTX 970, 1300.39 MH/s [2016-02-23 13:48:42] JSON-RPC call failed: Error in stake consensus: The number of SSGen tx in block 17ace4320dce41793fb82e6f434f057786be68717217ba24b1493337114dbe7a was not the 4 voters expected from the header! [2016-02-23 13:48:42] get_work failed, retry after 30 seconds
well, pull48 did not help. [2016-02-23 14:53:59] JSON-RPC call failed: Error in stake consensus: The number of SSGen tx in block ccb95beb8bfe90d5a9180bb35d168bd1b9a172cc424fff58645b3e9c1ff3cf4f was not the 3 voters expected from the header! [2016-02-23 14:53:59] get_work failed, retry after 30 seconds [2016-02-23 14:54:29] decred block 4503
Different error. That's the GBT error that has an issue on GitHub. https://github.com/decred/dcrd/issues/53 It only lasts for about a second, so configure your miner to retry more quickly (1s rather than 30s).
FYI, the original error I have been reporting is still occurring with the new release. I'm not sure if it's supposed to be fixed already, or not. Thanks.
I see it should be fixed in 0.0.6, but are there problems with wallet ERR and "restart" @Dyrk mentioned present still ? I would upgrade, but you know ... "don't change horses midstream" EDIT : error present about once a day