Trouble downloading blockchain db for POCC Burstwallet


#1

Howdy,

New person here. Just trying to get a local wallet up and running and I’m having some troubles. I’ll pulling from master at https://github.com/PoC-Consortium/burstcoin and using MariaDB. Everything appears to start up as expected - I’m able to log in and see peers connect and check how much of the blockchain has been downloaded by calling GET /getBlockchainStatus.

The issue appears to be that the blockImporterThread hits an exception and that seems to prevent my wallet from continuing to sync the blockchain. This has happened three times from fresh installs, all 3 times occurring between blocks 52000 and 60000.

[SEVERE] 2018-01-04 11:40:56 brs.BlockchainProcessorImpl - Uncaught exception in blockImporterThread
java.nio.BufferUnderflowException
	at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:151)
	at brs.at.AT_Machine_State.setState(AT_Machine_State.java:540)
	at brs.at.AT_Machine_State.<init>(AT_Machine_State.java:206)
	at brs.AT.<init>(AT.java:352)
	at brs.db.sql.SqlATStore.createAT(SqlATStore.java:187)
	at brs.db.sql.SqlATStore.getAT(SqlATStore.java:178)
	at brs.AT.getAT(AT.java:215)
	at brs.AT.getAT(AT.java:211)
	at brs.at.AT_Controller.validateATs(AT_Controller.java:328)
	at brs.BlockchainProcessorImpl.accept(BlockchainProcessorImpl.java:977)
	at brs.BlockchainProcessorImpl.pushBlock(BlockchainProcessorImpl.java:929)
	at brs.BlockchainProcessorImpl.access$700(BlockchainProcessorImpl.java:46)
	at brs.BlockchainProcessorImpl$3.run(BlockchainProcessorImpl.java:214)
	at brs.util.ThreadPool.lambda$start$0(ThreadPool.java:89)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

I’ve also tried some of the workarounds I’ve seen in other threads, such as starting with a db download and placing it in the dist/tmp/burst_db/ directory. When I do this it seems to be ignored and the syncing starts again from block 0 after finding peers. Is this a bug in the wallet or am I doing something wrong?

I’ve also tried to roll back the current block in hopes that it will start building again if a corrupt block is removed. Based on another thread I tried using the popOff method, however that just returned errors for me. I also tried stopping the wallet, manually dropping the rows in the block table in mariaDB then starting the wallet again, but again nothing.

Any advice?

macOS 10.13.2
mariadb 10.2.11
maven 3.5.2
java 1.8.0_152-b16

Thanks,
DC


#2

Master code is not for production and in development state. you need to get 1.3.6cg official release.


#3

Thanks @Quibus!


#4

Hey

Hey there - out of curiosity, (i know you were using a non master release but…) how/where do you use this function? I am a relative newb - so be gentle :slight_smile: I just got the wallet running and was curious how to see where exactly I was at.

also - any clue of how to download and import the blockchain bootstrap for this PoC client?


#5

I guess you might know as well… does this wallet support the importing of a blockchain bootstrap? there is shockingly little documentation online.


#6

I think what you talk about is referenced in Burst world as blockchain database. Yes the wallet support this. But is not endorsed. the burstwallet has more than one database to choose from. If you use H2 you can go here and find out how to do it.https://burstneon-bc.ddns.net/

For mariaDB you need a bbd file or a mariaexport. bbd file can be found here http://package.cryptoguru.org/dumps/latest.bbd

and have a look at burst.cmd to se how to import it.

If you are using Qbundle you can go to Database->Import Database


#7

Thanks Quibus!

I ended up letting the blockchain sync overnight just to get it over with.

Do you know which directory the chain is stored in? I cant seem to find it, even though im sure its at least a few GB in size.


#8

for h2 it is found in burst_db folder. For mariadb it is found in MariaDB\Data folder


#9

I thought that it would be in /mariadb as well, but there is no data directory in there. after fishing around and checking diskinventory, i found a 4.1gb file here:

/usr/local/var/mysql/burstwallet/transaction.idb

while im not 100% sure, i do suspect that is the blockchain db

can anyone verify?