Bitcoin Forum
November 19, 2024, 08:49:32 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Rapid block generation issue  (Read 866 times)
-ck (OP)
Legendary
*
Offline Offline

Activity: 4298
Merit: 1645


Ruu \o/


View Profile WWW
March 24, 2014, 10:16:28 AM
 #1

I recently implemented GBT solo mining with cgminer and have confirmed its ability to generate blocks on both testnet and the main bitcoin network. However I encountered an issue when I was running it with a high hashrate on a local testnet with only 2 nodes where generation was very rapid. This was on bitcoind 0.8.6

Here is the debug log:

Code:
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 AddToWallet 7e6b9062686f1899a1c7fac650a8f8814512ca3d46dd1ddc9e9a4754b234b0c9  new
2014-03-23 13:41:47 NotifyTransactionChanged 7e6b9062686f1899a1c7fac650a8f8814512ca3d46dd1ddc9e9a4754b234b0c9 status=0
2014-03-23 13:41:47 updateWallet 7e6b9062686f1899a1c7fac650a8f8814512ca3d46dd1ddc9e9a4754b234b0c9 0
2014-03-23 13:41:47 Committing 300 changed transactions to coin database...
2014-03-23 13:41:47 SetBestChain: new best=00000000c4bf4b3cc072bd1cb614869f38b0160d6dd06a91ded695b8c42d198e  height=56195  log2_work=52.435666  tx=93784  date=2014-03-23 13:41:48 p
rogress=1.000000
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47    inWallet=1 inModel=0 Index=95-95 showTransaction=1 derivedStatus=0
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=getblockcount
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 received getdata for: block 00000000c4bf4b3cc072bd1cb614869f38b0160d6dd06a91ded695b8c42d198e
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:47 ThreadRPCServer method=submitblock
2014-03-23 13:41:47 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED
2014-03-23 13:41:48 ThreadRPCServer method=submitblock
2014-03-23 13:41:48 ProcessBlock: ACCEPTED

So the first block was accepted and appeared fine in the wallet but after that, bitcoind appeared to go stupid and accepted all the blocks submitted but never really seemed to do anything with them. Is this simply a symptom of running only 2 nodes or is there a potential real problem with generating multiple valid block solves and submitting them? Note they were all almost certainly solves for the same height block and not subsequent blocks.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4284
Merit: 8808



View Profile WWW
March 24, 2014, 06:32:56 PM
 #2

As you say— they were probably solves for the same height. What do you expect it to do with them?  It should discard them.
-ck (OP)
Legendary
*
Offline Offline

Activity: 4298
Merit: 1645


Ruu \o/


View Profile WWW
March 24, 2014, 08:27:59 PM
Last edit: March 24, 2014, 08:44:10 PM by ckolivas
 #3

It went for many minutes and the block height reported by getblockcount didn't go higher before I finally killed it. I'd say at the very least it should be advancing block height, but ideally, rejecting them.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!