Feathercoin 0.8.5
-
[quote name=“Kevlar” post=“35009” timestamp=“1384887430”]
This seems like an easy one to fix.The line of code in question is:
[quote]
assert(mapBlockIndex.count(hashSyncCheckpoint));
[/quote]So stick a breakpoint on that line and examine your call stack. What’s calling it? What’s hashSyncCheckpoint value and where is it coming from? Put another breakpoint in mapBlockIndex.count (where is that defined?). What is the expected value? More details please!
Also, your header exclusion compiler macro name is funny: #ifndef PRIMECOIN_CHECKPOINTSYNC_H #define PRIMECOIN_CHECKPOINTSYNC_H
[/quote][url=http://youtu.be/tlPQD04tn88]http://youtu.be/tlPQD04tn88[/url]
-
Tuck, that is so against the rules for the forum, but I think we need to keep it. It’s hilariously appropriate.
Kevlar - I am giving you a high-five across the huge land-mass between us.
-
I left PRIMECOIN_CHECKPOINTSYNC_H in there as the code for this is from Primecoin. I do not mind leaving references to Primecoin as a nod to Sunny lest we forget his contributions.
However you can have the honour of renaming it if you like?
Let’s debug.
The function CheckSyncCheckpoint that the assert is in is called from here…
[quote](gdb) info stack
#0 CheckSyncCheckpoint (hashBlock=@0x28f07c, pindexPrev=0x969f168)
at checkpointsync.cpp:223
#1 0x004442f4 in SetBestChain (state=@0x28fa50, pindexNew=0x969f088)
at main.cpp:1980
#2 0x004454fe in ConnectBestBlock (state=@0x28fa50) at main.cpp:1343
#3 0x0042335e in AppInit2 (threadGroup=@0x28fe18) at init.cpp:1068
#4 0x00425627 in AppInit (argc=1, argv=0x4862a40) at init.cpp:228
#5 0x004261a5 in main (argc=1, argv=0x4862a40) at init.cpp:260[/quote]mapBlockIndex is defined in main.cpp as follows.
[quote]map -
On Wrapper0feathers suggestion I have created a branch pre-ACP commit which will run. This can be used for testing the client whilst we look at the compatibility between Sunny’s code and 0.8.5.
https://github.com/FeatherCoin/Feathercoin-0.8.5/tree/master-0.8-pre-ACP
-
Complite 0.8.5 success. Run it ,Need to resynchronization transaction records. ;)
[attachment deleted by admin]
-
I have updated the checkpoint data on both 0.8.5 branches. The non-ACP branch will be deleted eventually but for now it allows us to test.
The data comes from the debug.log as shown below and allows us to enter the correct number of transactions since the last hard coded checkpoint. The number of transactions a day is just an estimated amount taken from our totals transactions and the number of days since launch.
[quote]received block 8c4e02f6c0d20e856fd7e952a147fee30ce145ca6932a284f354924362d2b408
SetBestChain: new best=8c4e02f6c0d20e856fd7e952a147fee30ce145ca6932a284f354924362d2b408 height=41300 log2_work=52.63077 tx=257285 date=2013-06-25 13:26:47 progress=0.036524
ProcessBlock: ACCEPTED[/quote]Commit is here.
https://github.com/FeatherCoin/Feathercoin-0.8.5/commit/1414528e1bf46d938cc4a7bf05f41c22ee43a797
-
[quote name=“Bushstar” post=“35126” timestamp=“1384942002”]
I left PRIMECOIN_CHECKPOINTSYNC_H in there as the code for this is from Primecoin. I do not mind leaving references to Primecoin as a nod to Sunny lest we forget his contributions.However you can have the honour of renaming it if you like?
Let’s debug.
The function CheckSyncCheckpoint that the assert is in is called from here…
[quote](gdb) info stack
#0 CheckSyncCheckpoint (hashBlock=@0x28f07c, pindexPrev=0x969f168)
at checkpointsync.cpp:223
#1 0x004442f4 in SetBestChain (state=@0x28fa50, pindexNew=0x969f088)
at main.cpp:1980
#2 0x004454fe in ConnectBestBlock (state=@0x28fa50) at main.cpp:1343
#3 0x0042335e in AppInit2 (threadGroup=@0x28fe18) at init.cpp:1068
#4 0x00425627 in AppInit (argc=1, argv=0x4862a40) at init.cpp:228
#5 0x004261a5 in main (argc=1, argv=0x4862a40) at init.cpp:260[/quote]mapBlockIndex is defined in main.cpp as follows.
[quote]map -
I’m looking at the commit (the one with more magic numbers… and in a mystery struct too. I don’t envy you your job right now. Thank god they’re commented?), did this fix the problem?
-
seems that the synccheckpoint was loaded from the DB in DB.cpp and initialised at load of block chain via ReadSyncCheckpoint. this code is relovatd in main.cpp in 0.8.5 but seems to not load the checkpoint so the checkpoint is not initilised and stay at 0
[quote]
Feathercoin version v0.6.4.4 (Sep 21 2013, 08:46:22)
Startup time: 11/21/13 02:33:20
Default data directory C:\Users\…\AppData\Roaming\Feathercoin
Used data directory C:\Users\…\AppData\Roaming\Feathercoin
Bound to [::]:9336
Bound to 0.0.0.0:9336
[b]Loading block index…[/b]
dbenv.open LogDir=C:\Users\…\AppData\Roaming\Feathercoin\database ErrorFile=C:\Users\…\AppData\Roaming\Feathercoin\db.log
LoadBlockIndex(): hashBestChain=c479e1f97c80d2d83a46 height=110649 date=11/09/13 02:41:38
[b]LoadBlockIndexDB(): synchronized checkpoint 42bb31183d1437566b7cedfa0f120d616975f2b4462372af681859cf77528516[/b]
Verifying last 2500 blocks at level 1[/quote]from new main.ccp you should have one of the message
[code]// ppcoin: load hashSyncCheckpoint
if (!pblocktree->ReadSyncCheckpoint(hashSyncCheckpoint))
printf(“LoadBlockIndexDB(): synchronized checkpoint not read\n”);
else
printf(“LoadBlockIndexDB(): synchronized checkpoint %s\n”, hashSyncCheckpoint.ToString().c_str());[/code]
my guess is that the DB upgrade have not move the syncCheckpoint to the new DB so the load fail.
if DB has no checkpoint save should we just initialise with genesis block (as it’s the only block on initial load)? -
I learnt more about the code in the last 5 mins than the last month. A+++++++
P.S. I am setting up a VirtualBox to compile and test 0.8.5, as I have no spare hardware. Could be useful to separate 0.8.5 wallet tests. I’ll post a guide, if it works.
-
Feathercoin 0.8.5 now runs with CAlert and ACP from Sunny. The latest commit was to get our figures in line for the transactions-based verification progress by sipa which is linked in below. It seems that not having the correct figures here breaks Sunny’s ACP.
https://github.com/bitcoin/bitcoin/commit/9f2467ad6241ce6cf0897ed30c676598d59441a7
I have tested 0.8.5 on a 0.6.4.4 datadir and from fresh both appear to work.
Can others please verify that the latest 0.8.5 now works?
The next obvious bug to test is the crash on exit. I’ll catch this and get some data.
-
Let me know where i can pull the latest source and i give it a shot in the next hours.
MrSheep
-
You have now been added and you can get the source from here.
-
I made a check list / help guide to setting up and compiling the Feathercoin test version in a Virtualbox. To test with a separate wallet.
[url=http://forum.feathercoin.com/index.php/topic,4566.0.html]http://forum.feathercoin.com/index.php/topic,4566.0.html[/url]
-
[quote name=“Bushstar” post=“35344” timestamp=“1385044995”]
You have now been added and you can get the source from here.https://github.com/FeatherCoin/Feathercoin-0.8.5
[/quote]Yo. Have compiled 0.8.5. Client is currently downloading the block chain. Looks good so far. Will test with p2pool afterwards.
-
Hi,
I’ve downloaded the sources and compiled without problems.
OS: Opensuse 12.3 Kernel 3.7.10-1.16
I performed my tests on the production blockchain.Tests:
Started ft-client from scratch
- Sync started
- after block 43265 suddenly the sync stopped and all blocks seen where seen as ORPHANED
- stopped wallet and started again -> sync worked well and completed.
Started new ft-client on .0.6.4.4 wallet
- sync started and hung at block 34400 and all blocks seen where Seen as ORPHANED
- tried stop/restart of client without success.
- deleted local blockchain and started client again -> sync hung around block 30000 (didn’t check exact block number)
- here I left the client run for ~ 2 hours without a any progress
I also noticed, that there where blocks with messages:
- [i]LoadBlockIndexDB(): synchronized checkpoint not read[/i]
- [i]ResetSyncCheckpoint: sync-checkpoint reset to a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2[/i]
- [i]block with too little proof-of-work[/i]
Also seen: [i]received version 70002[/i]
Currently I try to sync from scratch again, but it doesn’t look good sync seems to hang after processing 42839 blocks… :(
[[b]update[/b]] whenever the sync hangs, I stop and restart the fc-client. the sync contunes for some time
I can provide my logs, if that helps
-
Shouldn’t we have one thread dedicated to test results, so we have all results and problems in one place?
Found some feedback on 0.8.5 at three different places in the Forum
-
[quote name=“Wellenreiter” post=“35435” timestamp=“1385059108”]
Shouldn’t we have one thread dedicated to test results, so we have all results and problems in one place?Found some feedback on 0.8.5 at three different places in the Forum
[/quote]Agreed. Let’s use Wrapper’s thread for testing and discuss development here.
Testing thread.
[url=http://forum.feathercoin.com/index.php/topic,4574.0.html]http://forum.feathercoin.com/index.php/topic,4574.0.html[/url] -
ok, copied my response to that thread
-
Please lock this thread to help reduce the co[sup]2[/sup] footprint!
Kidding, but I did get a bit confused by the two threads. ;)