Pages:
Author

Topic: i0coin UPDATES - page 3. (Read 9954 times)

sr. member
Activity: 459
Merit: 250
March 14, 2013, 01:16:14 PM
#43
Sounds like the same problem I had with GeistGeld.  The 32-bit version on Windows crashed once the memory consumption reached 2gig.  I haven't run my i0coin client recently but I will check it tonight.
hero member
Activity: 812
Merit: 502
March 13, 2013, 01:44:19 PM
#42
Is i0coin completely dead? Can you trade it anywhere?
I'm trying to update it and after it downloaded around 6.67GB of blockchain (around 500K blocks so far) it just crashes everytime with the following error:




Also it uses way too much RAM: 1.9GB which is weird.
Also how many blocks are there? I updated IXCoin and it only has around 121K blocks, but i0coin has more, but how many exactly?
legendary
Activity: 2940
Merit: 1090
March 13, 2013, 05:29:05 AM
#41
I merged-mine lots of chains, all using the same merged-mining patch I think, though I am not sure if i0coin also uses the same patch. (I think it does though.)

Could it be that i0coin tries to validate blocks even before reaching the most-recent checkpoint?

I don't know if older versions of bitcoin did not skip over all the blocks up to the last checkpoint, only checking that the block-hashes of the checkpointed blocks matched its list, and only doing real validation of blocks more recent than the most-recent checkpoint.

Another weird thing about i0coin is it dies from failure to do a DNS lookup, I think it tries to look up a timeserver for some reason, and uses DNS instead of IP address to do so, and thus dies when my connection is congested or flakes out or whatever, causing DNS to fail. No other coin (and I have run a lot of types of coin) has ever done that as far as I recall.

-MarkM-
legendary
Activity: 1205
Merit: 1010
December 19, 2012, 11:39:04 PM
#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).
legendary
Activity: 1361
Merit: 1003
Don`t panic! Organize!
December 19, 2012, 08:45:25 PM
#39
bitcoind getinfo
"version" : 79900,
"protocolversion" : 60002,
"connections" : 24,

/bitcoin$ git show
commit 6940626d08e313c5e1cd99c63aeca9da45d5b7a4
Merge: da8c5c9 f0bf5fb
Author: Gavin Andresen <[email protected]>
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
legendary
Activity: 1064
Merit: 1000
December 19, 2012, 08:06:57 PM
#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.
legendary
Activity: 1361
Merit: 1003
Don`t panic! Organize!
December 19, 2012, 07: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%...
legendary
Activity: 1078
Merit: 1005
December 19, 2012, 05: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.
legendary
Activity: 2940
Merit: 1090
December 19, 2012, 05: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-
legendary
Activity: 1064
Merit: 1000
December 19, 2012, 03: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.
legendary
Activity: 1064
Merit: 1000
December 12, 2012, 11:17:22 AM
#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

legendary
Activity: 1064
Merit: 1000
December 12, 2012, 11:13:05 AM
#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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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 >::_M_range_insert(__gnu_cxx::__normal_iterator > >, 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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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 >::_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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::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::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::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::do_init::do_init() (openssl_init.hpp:54)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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, std::allocator, 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, std::allocator, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x489198: void CBlock::Unserialize(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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, int, int, CSerActionUnserialize) (serialize.h:473)
==3211==    by 0x489198: void CBlock::Unserialize(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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_reallocate_map(unsigned long, bool) (new_allocator.h:92)
==3211==    by 0x48450B: std::deque >::_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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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::do_init::do_init() (openssl_init.hpp:49)
==3211==    by 0x4D6522: boost::asio::ssl::detail::openssl_init::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 >::_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, std::less, std::allocator >::_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, std::less, std::allocator >::_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 >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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 >::_M_range_insert(__gnu_cxx::__normal_iterator > >, char const*, char const*, std::forward_iterator_tag) (new_allocator.h:92)
==3211==    by 0x4800C8: void CNode::PushMessage > >(char const*, std::vector > 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, std::less, std::allocator >::_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, std::less, std::allocator >::_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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, 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 >::_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, std::less, std::allocator >::_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, std::less, std::allocator >::_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&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x48601E: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F66: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, CTxIn const&) (new_allocator.h:92)
==3211==    by 0x486042: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F66: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, 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&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, 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&, boost::shared_ptr&, 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&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, unsigned char const&) (new_allocator.h:92)
==3211==    by 0x4862BD: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_construct.h:103)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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 >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, CTxOut const&) (new_allocator.h:92)
==3211==    by 0x4862E2: void Unserialize_impl >(CDataStream&, std::vector >&, int, int, boost::integral_constant const&) (stl_vector.h:944)
==3211==    by 0x488F7C: int ReadWriteAuxPow(CDataStream&, boost::shared_ptr&, 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)
legendary
Activity: 1064
Merit: 1000
December 12, 2012, 11:11:41 AM
#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 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::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6316198: std::moneypunct::~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::_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::~moneypunct() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.16)
==3211==    by 0x6316088: std::moneypunct::~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::_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==


legendary
Activity: 2940
Merit: 1090
November 27, 2012, 07: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-
donator
Activity: 3226
Merit: 1226
★Bitvest.io★ Play Plinko or Invest!
November 27, 2012, 03:43:51 AM
#29
i0coin bump
hero member
Activity: 717
Merit: 501
November 20, 2012, 03: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
legendary
Activity: 1078
Merit: 1005
November 19, 2012, 09:44:24 PM
#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.
legendary
Activity: 1064
Merit: 1000
November 19, 2012, 11:51:33 AM
#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)

legendary
Activity: 2940
Merit: 1090
November 18, 2012, 03: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-
legendary
Activity: 1420
Merit: 1010
November 18, 2012, 12:42:04 PM
#24
Pages:
Jump to: