Bitcoin Forum
November 09, 2024, 09:21:34 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Poll
Question: Did you test this?
No thanks - 16 (61.5%)
Yes - 6 (23.1%)
Yes, using it regularly - 2 (7.7%)
Yes, explicitly testing some pull requests - 2 (7.7%)
Total Voters: 23

Pages: [1] 2 »  All
  Print  
Author Topic: Please test (if you dare): next-test 2012-11-25  (Read 5668 times)
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 26, 2012, 06:59:50 PM
Last edit: April 12, 2013, 07:43:48 PM by Luke-Jr
 #1


next-test is a branch of the master bitcoind & Bitcoin-Qt code with as many pull requests merged as possible, to aid in testing them. This branch can be used to test many pull requests in your daily Bitcoin use. The goal is to help pull requests get the testing they need to be merged into the main tree, so once you test a change, please comment in the relevant pull request (ideally with details).

Due to Coin Control's poor design and abandonment, it has begun to bitrot rapidly. This will probably be the last next-test supporting it, unless someone steps up to maintain it.

Please note these might possibly corrupt your wallet. No warranty of any kind of provided. BACKUP YOUR WALLET

Also note that this is based on code that will become 0.8 including the "ultraprune" block storage rewrite. The master code does not support upgrading from older versions yet, but this next-test includes a HACKY upgrader if it detects such a condition. Note that in any case, the block chain of both your old client and this new one will be saved on your disk. That means about 5 GB for the old one and about 5 GB for the new one (unless your OS supports hard links, which the HACK will use if possible). Wallet is currently considered to be forward and backward compatible, but please still back it up!


Today's next-test includes the following pull requests (green are merged now; red are disputed):

hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1003


View Profile
November 26, 2012, 11:14:44 PM
 #2

8min for 30% synchronization, was this always this fast? Cheesy

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 26, 2012, 11:16:18 PM
 #3

8min for 30% synchronization, was this always this fast? Cheesy
No, that's a combination of ultraprune and the upgrade hack...

hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1003


View Profile
November 26, 2012, 11:22:33 PM
Last edit: November 27, 2012, 11:27:24 AM by hazek
 #4

and the upgrade hack...

Does that affect me if I'm doing a fresh install? I didn't have QT or the blockchain on my HDD before.

EDIT: ~50% = ~20min

EDIT2: ~60% = ~35min

EDIT3: :/ it really slowed down now, ~62.5% = ~60min

EDIT4: ~66.5% = ~90min

EDIT5: ~75% = ~110min

EDIT6: ~85.5% = ~130min taking up 800mb of my ram and from time to time really slowing down my laptop

EDIT8: Well I fked it up. I foolishly started to play around with QT and encrypted the wallet which I didn't know would prompt a restart and so I lost connection with 50 peers and probably some time before I get those back. ~87,5% = ~150min

EDIT9: ~88.5% = ~180min

EDIT10: ~91.5% = ~210min

EDIT11: ~92.5% = ~230min For some reason the system is becoming unresponsive every 30seconds or so for a couple of seconds, and my laptop really should be able to handle this without breaking a sweat.

EDIT12: woke up to a crashed QT, when I ran it again it showed ~96% = ~640min

EDIT13: ~98% = ~700min

EDIT14: 100% = ~740min and this is with 1 restart and 1 crash

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
prezbo
Sr. Member
****
Offline Offline

Activity: 430
Merit: 250


View Profile
November 26, 2012, 11:25:40 PM
 #5

8min for 30% synchronization, was this always this fast? Cheesy
I thought this was going to be synchronized in no time. Then at around 15k to go it almost slowed down to a halt.
Bitexchange
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile WWW
November 26, 2012, 11:40:53 PM
 #6

let user select wallet file with -wallet=foo.dat

Quote
gmaxwell commented 2 months ago

Eh. The functionality is desirable, but the ability to filesystem split the wallet and data dir is a surefire way to end up with a corrupted wallet. This is subtle and I suspect hard to warn people out of doing, esp since it would mostly work. (until it eats your keys for lunch).



Whats the problem with using multiple wallet files with the same bitcoin client?

Ok you could miss recieved coins if you update the blockchain when there is the wrong wallet loaded, but if you make sure that doesnt happen, is there any technical reason why i cant make 10 wallets and load them when needed?

Because im already doing that and didnt have any problem so far  Wink
Pieter Wuille
Legendary
*
Offline Offline

Activity: 1072
Merit: 1181


View Profile WWW
November 26, 2012, 11:46:43 PM
 #7

Whats the problem with using multiple wallet files with the same bitcoin client?

None at all, it just isn't implemented.

What is a problem, is separating the wallet and the database environment. If your client (or your computer) crashes, you must have the database environment (the files in $DATADIR/database) to recover the data. If those are not available, the wallet may get corrupted. BDB isn't really intended to be used with free-floating database files - it expects them to be part of such an environment.

Now, we are slowly moving away from BDB. 0.8 (and this next-test build) do not use it anymore for the block chain indexes (it uses LevelDB instead), and we'll likely stop using BDB for wallet files as well. At that point, it will be perfectly safe to select any file/location for your wallet.

I do Bitcoin stuff.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 26, 2012, 11:47:30 PM
 #8

let user select wallet file with -wallet=foo.dat

Quote
gmaxwell commented 2 months ago

Eh. The functionality is desirable, but the ability to filesystem split the wallet and data dir is a surefire way to end up with a corrupted wallet. This is subtle and I suspect hard to warn people out of doing, esp since it would mostly work. (until it eats your keys for lunch).

Whats the problem with using multiple wallet files with the same bitcoin client?

Ok you could miss recieved coins if you update the blockchain when there is the wrong wallet loaded, but if you make sure that doesnt happen, is there any technical reason why i cant make 10 wallets and load them when needed?

Because im already doing that and didnt have any problem so far  Wink
You won't even miss received coins since the client automatically detects when it needs to rescan. The problem gmaxwell mentions is only if you do something stupid like -wallet=/mnt/usbdrive/wallet.dat, since the database/ directory it depends on is still on the main hard drive. So long as you keep all your wallets on the same disk it should be fine.

Bitexchange
Newbie
*
Offline Offline

Activity: 28
Merit: 0



View Profile WWW
November 27, 2012, 12:20:30 AM
 #9

Ok nice, didnt know that, thanks.

So the wallet.dat contains puplic/private keys, transactions, and the block count where it got all previous transactions ?

If i didnt use a wallet for some time, it will rescan the blockchain i got on my disk without downloading it again? Is there any status shown on the client which tells me if the wallet is up to date with the blockchain dat files?
Because i didnt really notice something like that so i guessed its better not to recieve coins on wallets which arent currently 'loaded' while updating the blockchain with another wallet.
hazek
Legendary
*
Offline Offline

Activity: 1078
Merit: 1003


View Profile
November 27, 2012, 12:58:51 AM
 #10

Is it normal for QT to take up 900mb of ram?

My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)

If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp
Vitalik Buterin
Sr. Member
****
Offline Offline

Activity: 330
Merit: 397


View Profile
November 27, 2012, 03:17:48 PM
 #11

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.

Argumentum ad lunam: the fallacy that because Bitcoin's price is rising really fast the currency must be a speculative bubble and/or Ponzi scheme.
Dezeer
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
November 27, 2012, 03:41:00 PM
 #12

Indexing advanced rapidly, 50 blocks per second, into the remaining 17000-16800 and its now indexing at pace one per second. Memory usage is at this point, before indexing has completed, normal at 150MB.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 27, 2012, 10:07:31 PM
Last edit: November 27, 2012, 10:26:22 PM by Luke-Jr
 #13

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.
You mean with USE_UPNP=- (don't compile support)?

rabit
Member
**
Offline Offline

Activity: 62
Merit: 10


View Profile
November 27, 2012, 10:20:36 PM
Last edit: November 27, 2012, 10:43:58 PM by rabit
 #14

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.
You mean with USE_UPNP=- (don't compile support)?


Its set to USE_UPNP=- in line 41 of makefile.unix .
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 27, 2012, 10:26:01 PM
 #15

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.
You mean with USE_UPNP=- (don't compile support)?

Its set to USE_UPNP=- in line 41 of makefile.unix .
No, it's set by default to USE_UPNP=0 (compile support, but disable by default) on line 5, and changed from (null) to - on line 41. So eg, USE_UPNP= will work also (but there is no way to support this syntax with -Qt)

rabit
Member
**
Offline Offline

Activity: 62
Merit: 10


View Profile
November 27, 2012, 10:41:15 PM
 #16

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.
You mean with USE_UPNP=- (don't compile support)?

Its set to USE_UPNP=- in line 41 of makefile.unix .
No, it's set by default to USE_UPNP=0 (compile support, but disable by default) on line 5, and changed from (null) to - on line 41. So eg, USE_UPNP= will work also (but there is no way to support this syntax with -Qt)

The problem is that the README states that libminiupnpc is optional but make -f makefile.unix doesnt work without it, so maybe the default setting should be USE_UPNP=-. But probably its not that important.
Luke-Jr (OP)
Legendary
*
Offline Offline

Activity: 2576
Merit: 1186



View Profile
November 27, 2012, 10:44:28 PM
 #17

Make on Linux (Xubuntu) does not work without libminiupnpc8-dev installed.
You mean with USE_UPNP=- (don't compile support)?

Its set to USE_UPNP=- in line 41 of makefile.unix .
No, it's set by default to USE_UPNP=0 (compile support, but disable by default) on line 5, and changed from (null) to - on line 41. So eg, USE_UPNP= will work also (but there is no way to support this syntax with -Qt)

The problem is that the README states that libminiupnpc is optional but make -f makefile.unix doesnt work without it, so maybe the default setting should be USE_UPNP=-. But probably its not that important.
And immediately under the dependency list:
Quote
miniupnpc may be used for UPnP port mapping.  It can be downloaded from
http://miniupnp.tuxfamily.org/files/.  UPnP support is compiled in and
turned off by default.  Set USE_UPNP to a different value to control this:
 USE_UPNP=-    No UPnP support - miniupnp not required
 USE_UPNP=0    (the default) UPnP support turned off by default at runtime
 USE_UPNP=1    UPnP support turned on by default at runtime

This isn't something new either, it's been this way since 0.4

dust
Hero Member
*****
Offline Offline

Activity: 840
Merit: 1000



View Profile WWW
November 28, 2012, 06:16:17 AM
 #18

8min for 30% synchronization, was this always this fast? Cheesy
I thought this was going to be synchronized in no time. Then at around 15k to go it almost slowed down to a halt.
There are very few transactions in the first 30% of blocks, so these blocks download and verify very quickly.  The most recent 15k transactions have a bunch of transactions (many of them satoshidice related), which makes them slower to process.

Cryptocoin Mining Info | OTC | PGP | Twitter | freenode: dust-otc | BTC: 1F6fV4U2xnpAuKtmQD6BWpK3EuRosKzF8U
Pieter Wuille
Legendary
*
Offline Offline

Activity: 1072
Merit: 1181


View Profile WWW
November 28, 2012, 08:21:46 AM
 #19

Indexing advanced rapidly, 50 blocks per second, into the remaining 17000-16800 and its now indexing at pace one per second. Memory usage is at this point, before indexing has completed, normal at 150MB.

After the last checkpoint (block 193000 currently), signature verification is enabled, and in all likelyhood this is the bottleneck after that point.

I do Bitcoin stuff.
Pieter Wuille
Legendary
*
Offline Offline

Activity: 1072
Merit: 1181


View Profile WWW
November 28, 2012, 08:23:40 AM
 #20

So the wallet.dat contains puplic/private keys, transactions, and the block count where it got all previous transactions ?

Yes, since 0.3.21.

Quote
If i didnt use a wallet for some time, it will rescan the blockchain i got on my disk without downloading it again? Is there any status shown on the client which tells me if the wallet is up to date with the blockchain dat files?

Yes, it will. It does this rescan automatically at startup, so there is no feedback in the GUI - when it is loaded, the wallet should always be up-to-date with the block chain.

I do Bitcoin stuff.
Pages: [1] 2 »  All
  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!