Bitcoin Forum
October 23, 2017, 11:22:42 PM *
News: Latest stable version of Bitcoin Core: 0.15.0.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: « 1 [2] 3 4 5 »  All
  Print  
Author Topic: i0coin UPDATES  (Read 9582 times)
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
November 18, 2012, 12:06:22 AM
 #21

Here are some results from a Memory leak test.


Code:
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521113: std::moneypunct<wchar_t,
==11598==    by 0x06521198: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1258 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x06520ded: std::moneypunct<wchar_t,
==11598==    by 0x0651811e: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521003: std::moneypunct<wchar_t,
==11598==    by 0x06521088: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1488 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521113: std::moneypunct<wchar_t,
==11598==    by 0x06521198: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1258 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x06520ded: std::moneypunct<wchar_t,
==11598==    by 0x0651811e: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521003: std::moneypunct<wchar_t,
==11598==    by 0x06521088: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1488 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x065207fd: std::moneypunct<wchar_t,
==11598==    by 0x0651816b: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x065207fd: std::moneypunct<wchar_t,
==11598==    by 0x0651816b: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598== HEAP SUMMARY:
==11598== in use at exit: 88 bytes in 3 blocks
==11598== total heap usage: 3,380 allocs, 3,377 frees, 228,456 bytes allocated
==11598==
==11598== 24 bytes in 1 blocks are still reachable in loss record 1 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c5b: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==    by 0x05aa2d48: SSL_COMP_get_compression_methods (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== 32 bytes in 1 blocks are still reachable in loss record 2 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05d9b8ae: sk_new (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c39: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== 32 bytes in 1 blocks are still reachable in loss record 3 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05d9b8cc: sk_new (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c39: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== LEAK SUMMARY:
==11598== definitely lost: 0 bytes in 0 blocks
==11598== indirectly lost: 0 bytes in 0 blocks
==11598== possibly lost: 0 bytes in 0 blocks
==11598== still reachable: 88 bytes in 3 blocks
==11598== suppressed: 0 bytes in 0 blocks




1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
1508800962
Hero Member
*
Offline Offline

Posts: 1508800962

View Profile Personal Message (Offline)

Ignore
1508800962
Reply with quote  #2

1508800962
Report to moderator
lightlord
Donator
Legendary
*
Offline Offline

Activity: 1876


★Bitvest.io★ Play Plinko or Invest!


View Profile WWW
November 18, 2012, 02:55:17 AM
 #22

The i0coin community also needs to decide on a version of client to use.

I have found three so far. The Bitparking versions (Which for some reason I cannot D/L the windows binaries, Firefox stops because it cannot read the last few bytes or so).

I have also seen two different git sites.

Personally I think the newest git version that uses the BTC client 0.6 as it's base would be the best starting point. Although the QT version has a compile problem, it does not look as if it will be that hard to fix. It appears that it wants to use static linking, and the Linux community has been discouraging it in favor of dynamic linking. QT seems to have the biggest problem with the static linking.

The other versions use Widgets for the GUI version, and what a monster that dependency is!!  Cheesy Qt is also easier for the Windows translation as only a few .DLL files are required to be included with the distribution.

The average person is not going to be running Mingw, so it is in the best interest of the coin that the Windows version be self-contained.


Anyway, those are my thoughts, take 'em or leave 'em.  Smiley


Well I being using this version: Windows x86-32 GUI and Command Line Daemon version 32509
http://i0coin.bitparking.com/

Perhaps the version we should work from.
And it be nice to get i0coin to work with the newer bitcoin client.
Shouldn't be that hard to do that.
Once the memory issues are fixed or dealt with,
Vicruex and the other will open.

And then you will receive your bounty.

Best of luck.
lightlord



.
.BITVEST DICE.
HAS BEEN RELEASED!


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████

▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░████
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████

██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░

██░▄▄▄▄░████▄▄██▄░░░░
████████████▀▀▀▀▀▀▀██
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄

██░████████░███████░█
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████

▀████████████████████▀




Rainbot
Daily Quests
Faucet
cabin
Sr. Member
****
Offline Offline

Activity: 311


View Profile
November 18, 2012, 04:30:01 PM
 #23

The way I understood it was it was just a few minor tweaks to change the block rate and such and boom, that is i0coin.. wouldn't it be easiest to just take the latest stable bitcoin code and just reapply the tweaks? Or was there lots of check-pointing code and such that messes this up?
FuzzyBear
Legendary
*
Offline Offline

Activity: 882



View Profile WWW
November 18, 2012, 04:42:04 PM
 #24

Here are some results from a Memory leak test.


Code:
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521113: std::moneypunct<wchar_t,
==11598==    by 0x06521198: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1258 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x06520ded: std::moneypunct<wchar_t,
==11598==    by 0x0651811e: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521003: std::moneypunct<wchar_t,
==11598==    by 0x06521088: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1488 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521113: std::moneypunct<wchar_t,
==11598==    by 0x06521198: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1258 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x06520ded: std::moneypunct<wchar_t,
==11598==    by 0x0651811e: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==
==11598== Invalid read of size 8
==11598==    at 0x06d64e08: wcscmp (wcscmp.S:479)
==11598==    by 0x06521003: std::moneypunct<wchar_t,
==11598==    by 0x06521088: std::moneypunct<wchar_t,
==11598==    by 0x06515a79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    Address 0x74a1488 is 0 bytes after a block of size 8 alloc'd
==11598==    at 0x04c2ac27: operator
==11598==    by 0x065207fd: std::moneypunct<wchar_t,
==11598==    by 0x0651816b: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x065207fd: std::moneypunct<wchar_t,
==11598==    by 0x0651816b: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598==    by 0x0651865e: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==11598== HEAP SUMMARY:
==11598== in use at exit: 88 bytes in 3 blocks
==11598== total heap usage: 3,380 allocs, 3,377 frees, 228,456 bytes allocated
==11598==
==11598== 24 bytes in 1 blocks are still reachable in loss record 1 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c5b: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==    by 0x05aa2d48: SSL_COMP_get_compression_methods (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== 32 bytes in 1 blocks are still reachable in loss record 2 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05d9b8ae: sk_new (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c39: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== 32 bytes in 1 blocks are still reachable in loss record 3 of 3
==11598==    at 0x04c2b6cd: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11598==    by 0x05d21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05d9b8cc: sk_new (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==11598==    by 0x05aa0c39: ??? (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==11598==
==11598== LEAK SUMMARY:
==11598== definitely lost: 0 bytes in 0 blocks
==11598== indirectly lost: 0 bytes in 0 blocks
==11598== possibly lost: 0 bytes in 0 blocks
==11598== still reachable: 88 bytes in 3 blocks
==11598== suppressed: 0 bytes in 0 blocks





From this I take it that there are objects not being disposed properly... hence why they are ...

==11598== still reachable: 88 bytes in 3 blocks

and this will just build up over time... all this code is new to me, but i am making progress in breaking down the code, so will update if i find anything of interest, but don't expect it in the next few hours that's all i'm saying!!

The way I understood it was it was just a few minor tweaks to change the block rate and such and boom, that is i0coin.. wouldn't it be easiest to just take the latest stable bitcoin code and just reapply the tweaks? Or was there lots of check-pointing code and such that messes this up?

I don't know enough about this tbh.. but would be lovely if we could just grab the latest BTC client and change it to I0Coin, but someone else maybe able to clarify if this is a valid possibility or not...

markm
Legendary
*
Offline Offline

Activity: 1988



View Profile WWW
November 18, 2012, 07:37:35 PM
 #25

That hardest part will be applying the merged mining patch to a recent copy of bitcoin, since bitcoin still lacks the ability to be a secondary chain when merged mining.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
November 19, 2012, 03:51:33 PM
 #26

Can anybody point me to some whitepapers on i0coin?

Any kind of technical document on how exactly i0coin differs from Bitcoin.

I also would like to get some feedback on why the i0client based on the Bitcoin 0.6.3 client is not widely used, but rather a client based on Bitcoin 0.3.24 is?

The git to the 0.6.3 is https://github.com/doublec/i0coin/tree/based_on_bitcoin_0.6.3.

I have a hard time testing it out as I can only get 0-1 peers using that version.

I have a couple of theories on what is happening with the memory and I will continue to work on version 032509, but it would really make more sense to work on a later version.

Also, any ideas on why I cannot download the Windows binaries from http://i0coin.bitparking.com ? Both Firefox and Iron stop unable to read the last few bytes or so. (Linux and Windows browsers)

doublec
Legendary
*
Offline Offline

Activity: 1078


View Profile
November 20, 2012, 01:44:24 AM
 #27

Any kind of technical document on how exactly i0coin differs from Bitcoin.

The original patches are the only thing I know of.

I also would like to get some feedback on why the i0client based on the Bitcoin 0.6.3 client is not widely used, but rather a client based on Bitcoin 0.3.24 is?

The git to the 0.6.3 is https://github.com/doublec/i0coin/tree/based_on_bitcoin_0.6.3.

I have a hard time testing it out as I can only get 0-1 peers using that version.
That branch was a work in progress of my own to port i0coin to a more recent bitcoin. Unfortunately the new nodes were not getting peers and I lacked time to investigate.

I have a couple of theories on what is happening with the memory and I will continue to work on version 032509, but it would really make more sense to work on a later version.
The high memory usage is inherited from bitcoin. My bitcoin node uses >1GB at times as well. With i0coin's faster blocks it uses more.

Also, any ideas on why I cannot download the Windows binaries from http://i0coin.bitparking.com ? Both Firefox and Iron stop unable to read the last few bytes or so. (Linux and Windows browsers)
I don't know why this would be happening.
steelhouse
Hero Member
*****
Offline Offline

Activity: 714


View Profile
November 20, 2012, 07:48:59 AM
 #28

Lightlord, didn't you design the i0coin logo?

Steelhouse, aren't you that nutjob that wanted the block reward to be something like 1 coin or some shit?

I am for a no inflation coin.  mining is not work, it is a technique to distribute coins.  Thus block reward = 0, except for the costs of maintaining the system.

http://www.youtube.com/watch?v=TEFQC0IX9-4
http://www.youtube.com/watch?v=DfwQzlrea7Y
lightlord
Donator
Legendary
*
Offline Offline

Activity: 1876


★Bitvest.io★ Play Plinko or Invest!


View Profile WWW
November 27, 2012, 07:43:51 AM
 #29

i0coin bump



.
.BITVEST DICE.
HAS BEEN RELEASED!


▄████████████████████▄
██████████████████████
██████████▀▀██████████
█████████░░░░█████████
██████████▄▄██████████
███████▀▀████▀▀███████
██████░░░░██░░░░██████
███████▄▄████▄▄███████
████▀▀████▀▀████▀▀████
███░░░░██░░░░██░░░░███
████▄▄████▄▄████▄▄████
██████████████████████

▀████████████████████▀
▄████████████████████▄
██████████████████████
█████▀▀█▀▀▀▀▀▀██▀▀████
█████░░░░░░░░░░░░░████
█████░░░░░░░░░░░░▄████
█████░░▄███▄░░░░██████
█████▄▄███▀░░░░▄██████
█████████░░░░░░███████
████████░░░░░░░███████
███████░░░░░░░░███████
███████▄▄▄▄▄▄▄▄███████

██████████████████████
▀████████████████████▀
▄████████████████████▄
███████████████▀▀▀▀▀▀▀
███████████▀▀▄▄█░░░░░█
█████████▀░░█████░░░░█
███████▀░░░░░████▀░░░▀
██████░░░░░░░░▀▄▄█████
█████░▄░░░░░▄██████▀▀█
████░████▄░███████░░░░
███░█████░█████████░░█
███░░░▀█░██████████░░█
███░░░░░░████▀▀██▀░░░░
███░░░░░░███░░░░░░░░░░

██░▄▄▄▄░████▄▄██▄░░░░
████████████▀▀▀▀▀▀▀██
█████████████░█▀▀▀█░███
██████████▀▀░█▀░░░▀█░▀▀
███████▀░▄▄█░█░░░░░█░█▄
████▀░▄▄████░▀█░░░█▀░██
███░▄████▀▀░▄░▀█░█▀░▄░▀
█▀░███▀▀▀░░███░▀█▀░███░
▀░███▀░░░░░████▄░▄████░
░███▀░░░░░░░█████████░░
░███░░░░░░░░░███████░░░
███▀░██░░░░░░▀░▄▄▄░▀░░░
███░██████▄▄░▄█████▄░▄▄

██░████████░███████░█
▄████████████████████▄
████████▀▀░░░▀▀███████
███▀▀░░░░░▄▄▄░░░░▀▀▀██
██░▀▀▄▄░░░▀▀▀░░░▄▄▀▀██
██░▄▄░░▀▀▄▄░▄▄▀▀░░░░██
██░▀▀░░░░░░█░░░░░██░██
██░░░▄▄░░░░█░██░░░░░██
██░░░▀▀░░░░█░░░░░░░░██
██░░░░░▄▄░░█░░░░░██░██
██▄░░░░▀▀░░█░██░░░░░██
█████▄▄░░░░█░░░░▄▄████
█████████▄▄█▄▄████████

▀████████████████████▀




Rainbot
Daily Quests
Faucet
markm
Legendary
*
Offline Offline

Activity: 1988



View Profile WWW
November 27, 2012, 11:08:54 AM
 #30

Lightlord, didn't you design the i0coin logo?

Steelhouse, aren't you that nutjob that wanted the block reward to be something like 1 coin or some shit?

I am for a no inflation coin.  mining is not work, it is a technique to distribute coins.  Thus block reward = 0, except for the costs of maintaining the system.

http://www.youtube.com/watch?v=TEFQC0IX9-4
http://www.youtube.com/watch?v=DfwQzlrea7Y

There are no-inflation coins, there are plenty of techniques for distributing coins, the block reward method simply happens to also help get miners to mine for a few years initially. It is a very expensive way of getting them to mine, but it has worked (so far...) for a few chains.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
December 12, 2012, 03:11:41 PM
 #31

Just a quick update:

I have modified doublec's 0.6.3 i0client so that it connects and communicates with peers on the I0coin network.

This client still eats about 1.8 GB Ram.

I have spent hours and hours tracing and even debugging step by step with Nemiver.

The memory gets taken up with an ever growing heap size during the initial blkindex load up.

I am seeing many uninitialized memcopy and variables.

I also noticed a trend away from the BTC client towards using unsigned integers in places where signed integers are are normally used. Is there a reason for this change?

I also noticed the replacement in the line of code the checks blocks (block.CheckBlock((INT_MAX))). It is my understating the INT_MAX is a system constant for the maximum value of the integer class of variable. Why is that being used?

Below I have a more detailed Valgrind report:

Continued in the next post.

Code:
=3211== Memcheck, a memory error detector
==3211== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==3211== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==3211== Command: /home/robert/worki0/src/i0coind
==3211==
==3211== Thread 11:
==3211== Conditional jump or move depends on uninitialised value(s)
==3211==    at 0x57F9BD7: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FB3A1: __log_put (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FC61D: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FD48F: __log_put_record (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57B8ECA: __db_pitem (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x571ACAA: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x571C2F9: __bam_iitem (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x5717421: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57AEC68: __dbc_iput (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57AC86F: __db_put (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57BE5DA: __db_put_pp (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57007FA: Db::put(DbTxn*, Dbt*, Dbt*, unsigned int) (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==
==3211== Syscall param pwrite64(buf) points to uninitialised byte(s)
==3211==    at 0x60986C3: ??? (syscall-template.S:82)
==3211==    by 0x5812A07: __os_io (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57F98D5: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FB9A2: __log_put (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FC61D: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FD48F: __log_put_record (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x581D79C: __txn_commit (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57BE471: __db_put_pp (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57007FA: Db::put(DbTxn*, Dbt*, Dbt*, unsigned int) (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x43D633: bool CDB::Write<std::string, CAddrMan>(std::string const&, CAddrMan const&, bool) (db.h:110)
==3211==    by 0x42F640: CAddrDB::WriteAddrman(CAddrMan const&) (db.cpp:755)
==3211==    by 0x48DE07: DumpAddresses() (net.cpp:1052)
==3211==  Address 0x9cbde34 is not stack'd, malloc'd or (recently) free'd
==3211==
==3211== Thread 7:
==3211== Syscall param pwrite64(buf) points to uninitialised byte(s)
==3211==    at 0x60986C3: ??? (syscall-template.S:82)
==3211==    by 0x5812A07: __os_io (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FF773: ??? (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x57FFBB0: __memp_bhwrite (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x580F115: __memp_sync_int (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x581ECC3: __txn_checkpoint (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x581F040: __txn_checkpoint_pp (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x5703639: DbEnv::txn_checkpoint(unsigned int, unsigned int, unsigned int) (in /usr/lib/x86_64-linux-gnu/libdb_cxx-5.1.so)
==3211==    by 0x42D84E: CDB::Close() (db.cpp:175)
==3211==    by 0x45E904: SendMessages(CNode*, bool) (db.h:46)
==3211==    by 0x48F80C: ThreadMessageHandler2(void*) (net.cpp:1383)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==  Address 0x987d488 is not stack'd, malloc'd or (recently) free'd
==3211==
==3211== Conditional jump or move depends on uninitialised value(s)
==3211==    at 0x46FFB3: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2821)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== Conditional jump or move depends on uninitialised value(s)
==3211==    at 0x492E1E: CNode::Misbehaving(int) (net.cpp:445)
==3211==    by 0x46FFBC: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2821)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== Conditional jump or move depends on uninitialised value(s)
==3211==    at 0x6B024F1: vfprintf (vfprintf.c:1629)
==3211==    by 0x6B061A3: buffered_vfprintf (vfprintf.c:2313)
==3211==    by 0x6B00BDD: vfprintf (vfprintf.c:1316)
==3211==    by 0x6BC13C7: __vfprintf_chk (vfprintf_chk.c:35)
==3211==    by 0x4FDC30: OutputDebugStringF(char const*, ...) (stdio2.h:128)
==3211==    by 0x492EE7: CNode::Misbehaving(int) (net.cpp:454)
==3211==    by 0x46FFBC: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2821)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== Use of uninitialised value of size 8
==3211==    at 0x6B007EB: _itoa_word (_itoa.c:195)
==3211==    by 0x6B02837: vfprintf (vfprintf.c:1629)
==3211==    by 0x6B061A3: buffered_vfprintf (vfprintf.c:2313)
==3211==    by 0x6B00BDD: vfprintf (vfprintf.c:1316)
==3211==    by 0x6BC13C7: __vfprintf_chk (vfprintf_chk.c:35)
==3211==    by 0x4FDC30: OutputDebugStringF(char const*, ...) (stdio2.h:128)
==3211==    by 0x492EE7: CNode::Misbehaving(int) (net.cpp:454)
==3211==    by 0x46FFBC: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2821)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==
==3211== Conditional jump or move depends on uninitialised value(s)
==3211==    at 0x6B007F5: _itoa_word (_itoa.c:195)
==3211==    by 0x6B02837: vfprintf (vfprintf.c:1629)
==3211==    by 0x6B061A3: buffered_vfprintf (vfprintf.c:2313)
==3211==    by 0x6B00BDD: vfprintf (vfprintf.c:1316)
==3211==    by 0x6BC13C7: __vfprintf_chk (vfprintf_chk.c:35)
==3211==    by 0x4FDC30: OutputDebugStringF(char const*, ...) (stdio2.h:128)
==3211==    by 0x492EE7: CNode::Misbehaving(int) (net.cpp:454)
==3211==    by 0x46FFBC: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2821)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==
==3211== Thread 3:
==3211== Invalid read of size 8
==3211==    at 0x6B59E08: wcscmp (wcscmp.S:479)
==3211==    by 0x6316113: std::moneypunct<wchar_t, false>::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6316198: std::moneypunct<wchar_t, false>::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630AA79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630AC4C: std::locale::~locale() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6AF3D1C: __cxa_finalize (cxa_finalize.c:56)
==3211==    by 0x5040755: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x504E010: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x6AF3900: __run_exit_handlers (exit.c:78)
==3211==    by 0x6AF3984: exit (exit.c:100)
==3211==    by 0x4419B4: Shutdown(void*) (init.cpp:80)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==  Address 0x7296258 is 0 bytes after a block of size 8 alloc'd
==3211==    at 0x4C2AC27: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x6315DED: std::moneypunct<wchar_t, false>::_M_initialize_moneypunct(__locale_struct*, char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630D11E: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630D65E: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x504ADDA: boost::filesystem3::path::wchar_t_codecvt_facet() (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x504058E: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x400F305: call_init.part.0 (dl-init.c:85)
==3211==    by 0x400F3DE: _dl_init (dl-init.c:52)
==3211==    by 0x40016E9: ??? (in /lib/x86_64-linux-gnu/ld-2.15.so)
==3211==
==3211== Invalid read of size 8
==3211==    at 0x6B59E08: wcscmp (wcscmp.S:479)
==3211==    by 0x6316003: std::moneypunct<wchar_t, true>::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6316088: std::moneypunct<wchar_t, true>::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630AA79: std::locale::_Impl::~_Impl() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630AC4C: std::locale::~locale() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6AF3D1C: __cxa_finalize (cxa_finalize.c:56)
==3211==    by 0x5040755: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x504E010: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x6AF3900: __run_exit_handlers (exit.c:78)
==3211==    by 0x6AF3984: exit (exit.c:100)
==3211==    by 0x4419B4: Shutdown(void*) (init.cpp:80)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==  Address 0x7296488 is 0 bytes after a block of size 8 alloc'd
==3211==    at 0x4C2AC27: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x63157FD: std::moneypunct<wchar_t, true>::_M_initialize_moneypunct(__locale_struct*, char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630D16B: std::locale::_Impl::_Impl(char const*, unsigned long) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x630D65E: std::locale::locale(char const*) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x504ADDA: boost::filesystem3::path::wchar_t_codecvt_facet() (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x504058E: ??? (in /usr/lib/libboost_filesystem.so.1.46.1)
==3211==    by 0x400F305: call_init.part.0 (dl-init.c:85)
==3211==    by 0x400F3DE: _dl_init (dl-init.c:52)
==3211==    by 0x40016E9: ??? (in /lib/x86_64-linux-gnu/ld-2.15.so)
==3211==
==3211==
==3211== HEAP SUMMARY:
==3211==     in use at exit: 1,354,529,948 bytes in 21,104,474 blocks
==3211==   total heap usage: 39,816,134 allocs, 18,711,660 frees, 4,412,257,962 bytes allocated
==3211==


dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
December 12, 2012, 03:13:05 PM
 #32

Continued from previous post:

Code:
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5E0146D: ERR_load_TS_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA84: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 1,296 bytes in 54 blocks are still reachable in loss record 323 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA69: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 1,338 bytes in 1 blocks are indirectly lost in loss record 324 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x41D0F1: void std::vector<char, zero_after_free_allocator<char> >::_M_range_insert<char const*>(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, char const*, char const*, std::forward_iterator_tag) (new_allocator.h:92)
==3211==    by 0x48FC76: CNode::PushGetBlocks(CBlockIndex*, uint256) (stl_vector.h:1201)
==3211==    by 0x46C1C3: ProcessBlock(CNode*, CBlock*) (main.cpp:1952)
==3211==    by 0x46FFA5: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2819)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 1,368 bytes in 57 blocks are still reachable in loss record 325 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D7EECD: ERR_load_RSA_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA12: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 1,416 bytes in 59 blocks are still reachable in loss record 326 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA12: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 1,512 bytes in 3 blocks are indirectly lost in loss record 327 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x496469: std::_Deque_base<CInv, std::allocator<CInv> >::_M_initialize_map(unsigned long) (new_allocator.h:92)
==3211==    by 0x496A47: CNode::CNode(unsigned int, CAddress, bool) (stl_deque.h:452)
==3211==    by 0x4921B6: ThreadSocketHandler2(void*) (net.cpp:666)
==3211==    by 0x492549: ThreadSocketHandler(void*) (net.cpp:477)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 1,560 bytes in 65 blocks are still reachable in loss record 328 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA1C: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 1,560 bytes in 65 blocks are still reachable in loss record 329 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5DDF3DD: ERR_load_X509V3_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA6E: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 1,632 bytes in 68 blocks are still reachable in loss record 330 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA6E: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 1,640 bytes in 1 blocks are still reachable in loss record 331 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4C7532: boost::asio::io_service::service* boost::asio::detail::service_registry::create<boost::asio::detail::strand_service>(boost::asio::io_service&) (service_registry.hpp:63)
==3211==    by 0x4C4198: boost::asio::detail::service_registry::do_use_service(boost::asio::io_service::service::key const&, boost::asio::io_service::service* (*)(boost::asio::io_service&)) (service_registry.ipp:99)
==3211==    by 0x4C7011: boost::asio::io_service::service* boost::asio::detail::service_registry::create<boost::asio::ssl::detail::openssl_stream_service>(boost::asio::io_service&) (service_registry.hpp:30)
==3211==    by 0x4C4198: boost::asio::detail::service_registry::do_use_service(boost::asio::io_service::service::key const&, boost::asio::io_service::service* (*)(boost::asio::io_service&)) (service_registry.ipp:99)
==3211==    by 0x4C439A: boost::asio::io_service::service* boost::asio::detail::service_registry::create<boost::asio::ssl::stream_service>(boost::asio::io_service&) (service_registry.hpp:30)
==3211==    by 0x4C4198: boost::asio::detail::service_registry::do_use_service(boost::asio::io_service::service::key const&, boost::asio::io_service::service* (*)(boost::asio::io_service&)) (service_registry.ipp:99)
==3211==    by 0x4B512A: ThreadRPCServer2(void*) (service_registry.hpp:30)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 1,640 bytes in 41 blocks are still reachable in loss record 332 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4D62B1: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:54)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 1,680 bytes in 70 blocks are still reachable in loss record 333 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5DFC75D: ERR_load_CMS_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA99: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 1,696 bytes in 2 blocks are indirectly lost in loss record 334 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x492156: ThreadSocketHandler2(void*) (net.cpp:666)
==3211==    by 0x492549: ThreadSocketHandler(void*) (net.cpp:477)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 1,824 bytes in 76 blocks are still reachable in loss record 335 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5DAA96D: ERR_load_EVP_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA1C: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 1,968 bytes in 82 blocks are still reachable in loss record 336 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA99: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 2,597 (848 direct, 1,749 indirect) bytes in 1 blocks are definitely lost in loss record 337 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x492156: ThreadSocketHandler2(void*) (net.cpp:666)
==3211==    by 0x492549: ThreadSocketHandler(void*) (net.cpp:477)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 2,832 bytes in 118 blocks are still reachable in loss record 338 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA3E: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 2,904 bytes in 121 blocks are still reachable in loss record 339 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5DC8A0D: ERR_load_ASN1_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA3E: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 3,048 bytes in 127 blocks are still reachable in loss record 340 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA08: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 3,264 bytes in 136 blocks are still reachable in loss record 341 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D7230D: ERR_load_EC_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9FA54: ERR_load_crypto_strings (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5A9E1D8: SSL_load_error_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==
==3211== 3,296 (1,696 direct, 1,600 indirect) bytes in 2 blocks are definitely lost in loss record 342 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x49289D: ConnectNode(CAddress, long long) (net.cpp:359)
==3211==    by 0x492C1F: OpenNetworkConnection(CAddress const&, bool) (net.cpp:1307)
==3211==    by 0x49404D: ThreadOpenConnections2(void*) (net.cpp:1207)
==3211==    by 0x494719: ThreadOpenConnections(void*) (net.cpp:1087)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 4,096 bytes in 1 blocks are still reachable in loss record 343 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4D3E07: boost::iostreams::detail::indirect_streambuf<SSLIOStreamDevice, std::char_traits<char>, std::allocator<char>, boost::iostreams::bidirectional>::open(SSLIOStreamDevice const&, long, long) (new_allocator.h:92)
==3211==    by 0x4B54CF: ThreadRPCServer2(void*) (stream_buffer.hpp:106)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 4,100 bytes in 1 blocks are still reachable in loss record 344 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4D3DCC: boost::iostreams::detail::indirect_streambuf<SSLIOStreamDevice, std::char_traits<char>, std::allocator<char>, boost::iostreams::bidirectional>::open(SSLIOStreamDevice const&, long, long) (new_allocator.h:92)
==3211==    by 0x4B54CF: ThreadRPCServer2(void*) (stream_buffer.hpp:106)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 4,954 bytes in 196 blocks are indirectly lost in loss record 345 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4239E9: std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x489198: void CBlock::Unserialize<CDataStream>(CDataStream&, int, int) (main.h:867)
==3211==    by 0x46FED2: ProcessMessage(CNode*, std::string, CDataStream&) (serialize.h:353)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 5,184 bytes in 216 blocks are still reachable in loss record 346 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5AA901D: ERR_load_SSL_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 6,272 bytes in 1 blocks are indirectly lost in loss record 347 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x440D99: std::vector<CTxOut, std::allocator<CTxOut> >::_M_fill_insert(__gnu_cxx::__normal_iterator<CTxOut*, std::vector<CTxOut, std::allocator<CTxOut> > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x489198: void CBlock::Unserialize<CDataStream>(CDataStream&, int, int) (main.h:867)
==3211==    by 0x46FED2: ProcessMessage(CNode*, std::string, CDataStream&) (serialize.h:353)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 7,176 bytes in 299 blocks are still reachable in loss record 348 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C24A: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 8,192 bytes in 1 blocks are still reachable in loss record 349 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9A84F: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9A9A1: BIO_new_bio_pair (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x4B51FE: ThreadRPCServer2(void*) (openssl_stream_service.hpp:195)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 8,192 bytes in 1 blocks are still reachable in loss record 350 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9A80F: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9A9A1: BIO_new_bio_pair (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x4B51FE: ThreadRPCServer2(void*) (openssl_stream_service.hpp:195)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 9,958 bytes in 394 blocks are possibly lost in loss record 351 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4239E9: std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 10,108 bytes in 400 blocks are indirectly lost in loss record 352 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4239E9: std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 10,224 bytes in 1 blocks are possibly lost in loss record 353 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x484346: std::deque<CInv, std::allocator<CInv> >::_M_reallocate_map(unsigned long, bool) (new_allocator.h:92)
==3211==    by 0x48450B: std::deque<CInv, std::allocator<CInv> >::_M_push_back_aux(CInv const&) (stl_deque.h:1888)
==3211==    by 0x4846CE: CNode::AddInventoryKnown(CInv const&) (stl_deque.h:1371)
==3211==    by 0x471788: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2583)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 11,738 bytes in 3 blocks are indirectly lost in loss record 354 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x477092: std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&) (new_allocator.h:92)
==3211==    by 0x491EB2: ThreadSocketHandler2(void*) (stl_vector.h:944)
==3211==    by 0x492549: ThreadSocketHandler(void*) (net.cpp:477)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 12,437 (152 direct, 12,285 indirect) bytes in 1 blocks are definitely lost in loss record 355 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x46BC12: ProcessBlock(CNode*, CBlock*) (main.cpp:1946)
==3211==    by 0x46FFA5: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2819)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 12,640 bytes in 2 blocks are possibly lost in loss record 356 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x440D99: std::vector<CTxOut, std::allocator<CTxOut> >::_M_fill_insert(__gnu_cxx::__normal_iterator<CTxOut*, std::vector<CTxOut, std::allocator<CTxOut> > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 12,800 bytes in 2 blocks are indirectly lost in loss record 357 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x440D99: std::vector<CTxOut, std::allocator<CTxOut> >::_M_fill_insert(__gnu_cxx::__normal_iterator<CTxOut*, std::vector<CTxOut, std::allocator<CTxOut> > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 16,384 bytes in 1 blocks are still reachable in loss record 358 of 380
==3211==    at 0x4C2B7B2: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21894: CRYPTO_realloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9C1F1: lh_insert (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E828: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D9E243: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5AA901D: ERR_load_SSL_strings (in /lib/x86_64-linux-gnu/libssl.so.1.0.0)
==3211==    by 0x4D622E: boost::asio::ssl::detail::openssl_init<true>::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init<true>::do_init::instance() (openssl_init.hpp:82)
==3211==    by 0x417F9A: _GLOBAL__sub_I__Z12JSONRPCErroriRKSs (openssl_init.hpp:121)
==3211==    by 0x51E39C: __libc_csu_init (in /home/robert/worki0/src/i0coind)
==3211==    by 0x6AD96FF: (below main) (libc-start.c:185)
==3211==
==3211== 16,672 bytes in 1 blocks are still reachable in loss record 359 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4B514D: ThreadRPCServer2(void*) (openssl_stream_service.hpp:189)
==3211==    by 0x4B83C9: ThreadRPCServer(void*) (bitcoinrpc.cpp:2799)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 17,640 bytes in 35 blocks are possibly lost in loss record 360 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x484481: std::deque<CInv, std::allocator<CInv> >::_M_push_back_aux(CInv const&) (new_allocator.h:92)
==3211==    by 0x45F41F: SendMessages(CNode*, bool) (stl_deque.h:1371)
==3211==    by 0x48F80C: ThreadMessageHandler2(void*) (net.cpp:1383)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 17,647 (160 direct, 17,487 indirect) bytes in 2 blocks are definitely lost in loss record 361 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x479856: std::_Rb_tree<CAddress, CAddress, std::_Identity<CAddress>, std::less<CAddress>, std::allocator<CAddress> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, CAddress const&) (new_allocator.h:92)
==3211==    by 0x4799E2: std::_Rb_tree<CAddress, CAddress, std::_Identity<CAddress>, std::less<CAddress>, std::allocator<CAddress> >::_M_insert_unique(CAddress const&) (stl_tree.h:1291)
==3211==    by 0x45E38F: SendMessages(CNode*, bool) (stl_set.h:410)
==3211==    by 0x48F80C: ThreadMessageHandler2(void*) (net.cpp:1383)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 18,432 bytes in 1 blocks are possibly lost in loss record 362 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x477726: std::vector<CInv, std::allocator<CInv> >::_M_insert_aux(__gnu_cxx::__normal_iterator<CInv*, std::vector<CInv, std::allocator<CInv> > >, CInv const&) (new_allocator.h:92)
==3211==    by 0x477AD3: CNode::PushInventory(CInv const&) (stl_vector.h:834)
==3211==    by 0x46EF6A: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2687)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 20,222 bytes in 1 blocks are possibly lost in loss record 363 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x41D0F1: void std::vector<char, zero_after_free_allocator<char> >::_M_range_insert<char const*>(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, char const*, char const*, std::forward_iterator_tag) (new_allocator.h:92)
==3211==    by 0x4800C8: void CNode::PushMessage<std::vector<CInv, std::allocator<CInv> > >(char const*, std::vector<CInv, std::allocator<CInv> > const&) (stl_vector.h:1201)
==3211==    by 0x45E6A4: SendMessages(CNode*, bool) (main.cpp:3181)
==3211==    by 0x48F80C: ThreadMessageHandler2(void*) (net.cpp:1383)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 25,972 (768 direct, 25,204 indirect) bytes in 6 blocks are definitely lost in loss record 364 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x42D634: InsertBlockIndex(uint256) (db.cpp:509)
==3211==    by 0x43158D: CTxDB::LoadBlockIndex() (db.cpp:552)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 36,000 bytes in 500 blocks are possibly lost in loss record 365 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x47EBB6: std::_Rb_tree<CInv, CInv, std::_Identity<CInv>, std::less<CInv>, std::allocator<CInv> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, CInv const&) (new_allocator.h:92)
==3211==    by 0x47ED42: std::_Rb_tree<CInv, CInv, std::_Identity<CInv>, std::less<CInv>, std::allocator<CInv> >::_M_insert_unique(CInv const&) (stl_tree.h:1291)
==3211==    by 0x45F139: SendMessages(CNode*, bool) (stl_set.h:410)
==3211==    by 0x48F80C: ThreadMessageHandler2(void*) (net.cpp:1383)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 103,600 bytes in 1 blocks are possibly lost in loss record 366 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x477092: std::vector<char, zero_after_free_allocator<char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<char*, std::vector<char, zero_after_free_allocator<char> > >, unsigned long, char const&) (new_allocator.h:92)
==3211==    by 0x491EB2: ThreadSocketHandler2(void*) (stl_vector.h:944)
==3211==    by 0x492549: ThreadSocketHandler(void*) (net.cpp:477)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 222,264 bytes in 441 blocks are possibly lost in loss record 367 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x484481: std::deque<CInv, std::allocator<CInv> >::_M_push_back_aux(CInv const&) (new_allocator.h:92)
==3211==    by 0x4846CE: CNode::AddInventoryKnown(CInv const&) (stl_deque.h:1371)
==3211==    by 0x471788: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2583)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 444,456 bytes in 6,173 blocks are possibly lost in loss record 368 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x47EBB6: std::_Rb_tree<CInv, CInv, std::_Identity<CInv>, std::less<CInv>, std::allocator<CInv> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, CInv const&) (new_allocator.h:92)
==3211==    by 0x47ED42: std::_Rb_tree<CInv, CInv, std::_Identity<CInv>, std::less<CInv>, std::allocator<CInv> >::_M_insert_unique(CInv const&) (stl_tree.h:1291)
==3211==    by 0x484573: CNode::AddInventoryKnown(CInv const&) (stl_set.h:410)
==3211==    by 0x471788: ProcessMessage(CNode*, std::string, CDataStream&) (main.cpp:2583)
==3211==    by 0x47215E: ProcessMessages(CNode*) (main.cpp:3017)
==3211==    by 0x48F79F: ThreadMessageHandler2(void*) (net.cpp:1374)
==3211==    by 0x48F999: ThreadMessageHandler(void*) (net.cpp:1337)
==3211==    by 0x6090E99: start_thread (pthread_create.c:308)
==3211==    by 0x6BABCBC: clone (clone.S:112)
==3211==
==3211== 4,312,528 bytes in 539,066 blocks are still reachable in loss record 369 of 380
==3211==    at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x5D21783: CRYPTO_malloc (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D5A5F6: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D5AB2C: bn_expand2 (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x5D5AC34: BN_copy (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
==3211==    by 0x431C0A: CTxDB::LoadBlockIndex() (bignum.h:71)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 9,073,776 bytes in 378,074 blocks are still reachable in loss record 370 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x488EF1: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (shared_count.hpp:87)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 22,698,690 bytes in 378,074 blocks are still reachable in loss record 371 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4239E9: std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x48601E: void Unserialize_impl<CDataStream, CTxIn, std::allocator<CTxIn> >(CDataStream&, std::vector<CTxIn, std::allocator<CTxIn> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F66: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 22,989,824 bytes in 179,608 blocks are still reachable in loss record 372 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x42D634: InsertBlockIndex(uint256) (db.cpp:509)
==3211==    by 0x431604: CTxDB::LoadBlockIndex() (db.cpp:554)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 23,004,416 bytes in 179,722 blocks are still reachable in loss record 373 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x42D634: InsertBlockIndex(uint256) (db.cpp:509)
==3211==    by 0x43158D: CTxDB::LoadBlockIndex() (db.cpp:552)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 23,006,208 bytes in 179,736 blocks are still reachable in loss record 374 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x42D634: InsertBlockIndex(uint256) (db.cpp:509)
==3211==    by 0x4315C8: CTxDB::LoadBlockIndex() (db.cpp:553)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 27,221,328 bytes in 378,074 blocks are still reachable in loss record 375 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4405AC: std::vector<CTxIn, std::allocator<CTxIn> >::_M_fill_insert(__gnu_cxx::__normal_iterator<CTxIn*, std::vector<CTxIn, std::allocator<CTxIn> > >, unsigned long, CTxIn const&) (new_allocator.h:92)
==3211==    by 0x486042: void Unserialize_impl<CDataStream, CTxIn, std::allocator<CTxIn> >(CDataStream&, std::vector<CTxIn, std::allocator<CTxIn> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F66: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 33,779,008 bytes in 377,657 blocks are still reachable in loss record 376 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x44C800: std::vector<uint256, std::allocator<uint256> >::_M_fill_insert(__gnu_cxx::__normal_iterator<uint256*, std::vector<uint256, std::allocator<uint256> > >, unsigned long, uint256 const&) (new_allocator.h:92)
==3211==    by 0x467B9F: _Z12SerReadWriteI11CDataStreamSt6vectorI7uint256SaIS2_EEEjRT_RT0_ii21CSerActionUnserialize.isra.2284 (stl_vector.h:944)
==3211==    by 0x488FCC: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (auxpow.h:27)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 69,149,408 bytes in 373,536 blocks are still reachable in loss record 377 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x44C800: std::vector<uint256, std::allocator<uint256> >::_M_fill_insert(__gnu_cxx::__normal_iterator<uint256*, std::vector<uint256, std::allocator<uint256> > >, unsigned long, uint256 const&) (new_allocator.h:92)
==3211==    by 0x467B9F: _Z12SerReadWriteI11CDataStreamSt6vectorI7uint256SaIS2_EEEjRT_RT0_ii21CSerActionUnserialize.isra.2284 (stl_vector.h:944)
==3211==    by 0x488FAA: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (main.h:729)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 117,959,088 bytes in 378,074 blocks are still reachable in loss record 378 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x488D45: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (auxpow.h:72)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 444,275,994 bytes in 17,373,654 blocks are still reachable in loss record 379 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x4239E9: std::vector<unsigned char, std::allocator<unsigned char> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
==3211==
==3211== 555,956,896 bytes in 378,074 blocks are still reachable in loss record 380 of 380
==3211==    at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==3211==    by 0x440D99: std::vector<CTxOut, std::allocator<CTxOut> >::_M_fill_insert(__gnu_cxx::__normal_iterator<CTxOut*, std::vector<CTxOut, std::allocator<CTxOut> > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl<CDataStream, CTxOut, std::allocator<CTxOut> >(CDataStream&, std::vector<CTxOut, std::allocator<CTxOut> >&, int, int, boost::integral_constant<bool, false> const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow<CDataStream>(CDataStream&, boost::shared_ptr<CAuxPow>&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x431540: CTxDB::LoadBlockIndex() (main.h:1242)
==3211==    by 0x46A443: LoadBlockIndex(bool) (main.cpp:2065)
==3211==    by 0x4441CB: AppInit2(int, char**) (init.cpp:371)
==3211==    by 0x447D88: AppInit(int, char**) (init.cpp:124)
==3211==    by 0x4154B8: main (init.cpp:110)
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
December 12, 2012, 03:17:22 PM
 #33

and finally:

Code:
==3211== LEAK SUMMARY:
==3211==    definitely lost: 3,624 bytes in 12 blocks
==3211==    indirectly lost: 58,325 bytes in 674 blocks
==3211==      possibly lost: 899,480 bytes in 7,569 blocks
==3211==    still reachable: 1,353,568,519 bytes in 21,096,219 blocks
==3211==         suppressed: 0 bytes in 0 blocks
==3211==
==3211== For counts of detected and suppressed errors, rerun with: -v
==3211== Use --track-origins=yes to see where uninitialised values come from
==3211== ERROR SUMMARY: 83 errors from 40 contexts (suppressed: 2 from 2)

Anyway, any input would be appreciated.   Smiley

dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
December 19, 2012, 07:35:34 PM
 #34

Just to let you know I am still working on it.

A thought:

Bitcoin 0.6.3 synced and idle takes about 200 MB. (8 GB x 2.5% ~ 200 MB)  bitcoind takes about 1.3% and Bitcoin-QT about 2.5%

Code:
Mem:   7920304k total,  1429880k used,  6490424k free,    59452k buffers
Swap:  8123388k total,        0k used,  8123388k free,   736056k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
2446 robert    20   0  710m 101m  43m S    1  1.3   0:21.86 bitcoind

I0coin (32509 or based on Bitcoin 0.6.3) takes about 1.8 GB.

The HEAP really builds up during the load of the blkindex. (i0coin and Bitcoin blkindex files are almost the same size. 1.4 GB and 1.3 GB)

It seems the the merged mining is the only difference.

IF I take 1.8 GB and subtract the footprint of Bitcoin 0.6.3 without merged mining I end up at ~ 1.6 GB. Merged mining started in I0coin at block 160000.


Code:
/ Start accepting AUX POW at this block
//
// Even if we do not accept AUX POW ourselves, we can always be the parent chain.
 
int GetAuxPowStartBlock()
{
    if (fTestNet)
        return 0; // Always on testnet
    else
        return 160000; // Never on prodnet

Coincidence or is there something causing the client to to force load everything about the first 160000 blocks into the heap instead of the (?2000?) blocks that Bitcoin does?

This is part of the code that creates the block index object from the blkindex file in I0coin. It is almost exactly the same except for auxpow.

Code:
try {
        string strType;
        ssKey >> strType;
        if (strType == "blockindex" && !fRequestShutdown)
        {
            CDiskBlockIndex diskindex;
            ssValue >> diskindex;

            // Construct block index object
            CBlockIndex* pindexNew = InsertBlockIndex(diskindex.GetBlockHash());
            pindexNew->pprev          = InsertBlockIndex(diskindex.hashPrev);
            pindexNew->pnext          = InsertBlockIndex(diskindex.hashNext);
            pindexNew->nFile          = diskindex.nFile;
            pindexNew->nBlockPos      = diskindex.nBlockPos;
            pindexNew->nHeight        = diskindex.nHeight;
            pindexNew->nVersion       = diskindex.nVersion;
            pindexNew->hashMerkleRoot = diskindex.hashMerkleRoot;
            pindexNew->nTime          = diskindex.nTime;
            pindexNew->nBits          = diskindex.nBits;
            pindexNew->nNonce         = diskindex.nNonce;
            pindexNew->auxpow         = diskindex.auxpow;
            // Watch for genesis block
            if (pindexGenesisBlock == NULL && diskindex.GetBlockHash() == hashGenesisBlock)
                pindexGenesisBlock = pindexNew;

            if (!pindexNew->CheckIndex())
                return error("LoadBlockIndex() : CheckIndex failed at %d", pindexNew->nHeight);
        }
        else
        {
            break; // if shutdown requested or finished loading block index
        }
        }    // try
        catch (std::exception &e) {
            return error("%s() : deserialize error", __PRETTY_FUNCTION__);
        }
    }
    pcursor->close();



Notice
Code:
pindexNew->auxpow         = diskindex.auxpow;
.

So the auxpow is being read into the block index object for every block, is there an issue with the first 160000 blocks that were not part of merged mining and therefor have nothing to do with auxpow?

It seems I have stumbled upon a puzzle, that to me seems like it should be easy to solve, yet the solution eludes me. I do not see any reason to keep more than 2000-2500 worth of blocks and tx's cached in memory.

If the first goal is to get Vicruex to put I0coin back on the exchange, would not removing the merged mining accomplish the goal? I would not think Vicruex would care about merged mining, but only about the memory consumption being solved.

Afterwords, work on a sane memory solution to the merged mining?

Anyway, any input from programmers, especially those much more experienced than myself, are welcome.
markm
Legendary
*
Offline Offline

Activity: 1988



View Profile WWW
December 19, 2012, 09:16:11 PM
 #35

Is the version of bitcoin that i0coin is based on the most recent version that any merged mined chain is based on?

If not maybe it would make sense to take whichever merged mined chain used the most recent bitcoin version and make an i0coin based on that?

Or maybe just go ahead and apply the merged mining patch to the latest stable version of bitcoin or even just the most recent version of bitcoin, and make all the various altcoins up to date based on that?

Maybe if i0coin is the most up to date version of bitcoin that any merged mined coin has been built from the problem i0coin has is just waiting to hit all the other coins whenever they try to get more up to date with bitcoin? Maybe there is a gotcha waiting for all of them, maybe the merged mining patch isn't so simple to apply to recent bitcoins and all the coins are going to have to adapt in whatever way i0coin is going to have to?

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
doublec
Legendary
*
Offline Offline

Activity: 1078


View Profile
December 19, 2012, 09:33:52 PM
 #36

Bitcoin 0.6.3 synced and idle takes about 200 MB. (8 GB x 2.5% ~ 200 MB)  bitcoind takes about 1.3% and Bitcoin-QT about 2.5%
Leave it running for a while. It takes over 1GB on my servers.
rav3n_pl
Legendary
*
Offline Offline

Activity: 1352


Don`t panic! Organize!


View Profile WWW
December 19, 2012, 11:34:10 PM
 #37

 i0coind getinfo
{
    "version" : 32509,

18889 rav3n      20   0 2498M 1741M  5308 S  0.0 44.0 10:12.47 +¦ i0coind

Memory eater... 40% res from 4G server
Latest bitcoind eats 170M ~4.5%...

1Rav3nkMayCijuhzcYemMiPYsvcaiwHni  Bitcoin stuff on my OneDrive
My RPC CoinControl for any coin https://bitcointalk.org/index.php?topic=929954
Some stuff on https://github.com/Rav3nPL/
dreamwatcher
Legendary
*
Offline Offline

Activity: 1064


View Profile WWW
December 20, 2012, 12:06:57 AM
 #38

Bitcoin 0.6.3 synced and idle takes about 200 MB. (8 GB x 2.5% ~ 200 MB)  bitcoind takes about 1.3% and Bitcoin-QT about 2.5%
Leave it running for a while. It takes over 1GB on my servers.


Ahh yes, I am aware of that issue.

With the Cryptocoin Explorer site running full node, I was having that problem with PPC and to a lesser extent TRC.

I solved that problem by not running with the default max connections for full node.(I believe it is hard coded at 125 connections)

I use the config file option maxconnections=8 and it slows the memory creep down to glacier speed.

rav3n, you are probably not having the Bitcoin client memory creep issue because you are not running full node ( with port 8333 open in your firewalls and routers or UPNP active on both client and network/router) therefore are automatically limited to 8 connections.
If you are running full node and able to keep that memory footprint with the default max connections, please do tell us how. I would like to be able to run the daemons on Cryptocoin explorer full node with no restrictions.   Grin

I wish the i0coin problem was that simple. Unfortunately the heap allocation is happening during start up while the blkindex is loading, so the heap is up to 1.8 GB even before the client begins to fully function.
rav3n_pl
Legendary
*
Offline Offline

Activity: 1352


Don`t panic! Organize!


View Profile WWW
December 20, 2012, 12:45:25 AM
 #39

bitcoind getinfo
"version" : 79900,
"protocolversion" : 60002,
"connections" : 24,

/bitcoin$ git show
commit 6940626d08e313c5e1cd99c63aeca9da45d5b7a4
Merge: da8c5c9 f0bf5fb
Author: Gavin Andresen <gavinandresen@gmail.com>
Date:   Tue Dec 18 09:53:30 2012 -0800

file bitcoind
bitcoind: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x433a84c7c32c1a709aa57b5f4db63305ae532bee, stripped

in makefile.unix:
use_upnp=
use_ipv6=0
xCXXFLAGS=-O3 -mtune=generic -march=native

cat bitcoin.conf
server=1
daemon=1
maxconnections=25
paytxfee=0.00001
mintxfee=0.00001

htop
Code:
  1  [|||||||||||||||||||||                            35.5%]     Tasks: 40; 2 running
  2  [||||||||||||||||                                 26.2%]     Load average: 0.33 0.38 0.38
  Mem[|||||||||||||||||||||||||||||||||||||||||||3138/3954MB]     Uptime: 6 days, 14:28:14
  Swp[|||||||||                                   311/2043MB]

  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
    1 root       20   0 24328   564   428 S  0.0  0.0  0:01.49 /sbin/init
25653 rav3n      20   0 24800   724   596 S  0.0  0.0  0:16.62 ├─ SCREEN -U -d -m python /home/rav3n/p2pool/run_p2pool.py -f 0.5
25654 rav3n      20   0  396M  188M  3216 S 25.0  4.8  1h21:37 │  └─ python /home/rav3n/p2pool/run_p2pool.py -f 0.5 --irc-announc
25378 rav3n      20   0 1211M  113M  3436 S 21.0  2.9 45:48.63 ├─ litecoind
20701 rav3n      20   0 1370M  180M 29380 S  1.0  4.6 10:33.98 ├─ bitcoind -daemon
18895 rav3n      20   0 24800   988   548 S  0.0  0.0  0:03.39 ├─ SCREEN -U -d -m python /home/rav3n/p2pool/run_p2pool.py --merge
18896 rav3n      20   0  594M  318M  3112 S  4.0  8.0 43:36.57 │  └─ python /home/rav3n/p2pool/run_p2pool.py --merged http://rav3
18891 rav3n      20   0  787M  217M  4180 S  1.0  5.5  4:55.16 ├─ ixcoind
18889 rav3n      20   0 2498M 1747M  5352 S  0.0 44.2 11:22.34 ├─ i0coind
10241 rav3n      20   0  665M 84240  3992 S  0.0  2.1  1h00:55 ├─ namecoind -daemon
 8748 rav3n      20   0 24800   988   604 S  0.0  0.0  0:24.62 ├─ SCREEN -U -d -m python /home/rav3n/p2pool/run_p2pool.py -f 0.5
 8749 rav3n      20   0  365M 89504  3064 R  4.0  2.2  1h18:05 │  └─ python /home/rav3n/p2pool/run_p2pool.py -f 0.5 --irc-announc
 4272 rav3n      20   0 1136M 39696  4244 S  0.0  1.0 16:34.87 ├─ terracoind -daemon

1Rav3nkMayCijuhzcYemMiPYsvcaiwHni  Bitcoin stuff on my OneDrive
My RPC CoinControl for any coin https://bitcointalk.org/index.php?topic=929954
Some stuff on https://github.com/Rav3nPL/
Sunny King
Legendary
*
Offline Offline

Activity: 1203



View Profile WWW
December 20, 2012, 03:39:04 AM
 #40

Bitcoin 0.6.3 synced and idle takes about 200 MB. (8 GB x 2.5% ~ 200 MB)  bitcoind takes about 1.3% and Bitcoin-QT about 2.5%
Leave it running for a while. It takes over 1GB on my servers.


Ahh yes, I am aware of that issue.

With the Cryptocoin Explorer site running full node, I was having that problem with PPC and to a lesser extent TRC.

I solved that problem by not running with the default max connections for full node.(I believe it is hard coded at 125 connections)

I use the config file option maxconnections=8 and it slows the memory creep down to glacier speed.

rav3n, you are probably not having the Bitcoin client memory creep issue because you are not running full node ( with port 8333 open in your firewalls and routers or UPNP active on both client and network/router) therefore are automatically limited to 8 connections.
If you are running full node and able to keep that memory footprint with the default max connections, please do tell us how. I would like to be able to run the daemons on Cryptocoin explorer full node with no restrictions.   Grin

I wish the i0coin problem was that simple. Unfortunately the heap allocation is happening during start up while the blkindex is loading, so the heap is up to 1.8 GB even before the client begins to fully function.

So the memory leak related to maxconnections applies to bitcoind as well? Although I haven't observed it on the seed nodes of ppcoin, which on average has about over 30 connections (I didn't set maxconnections so it's using default max of 125).
Pages: « 1 [2] 3 4 5 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!