[Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.


  • Moderators

    Remaining Messages :

    2017-08-12 10:33:13 ProcessBlock() ProcessBlock: ORPHAN BLOCK 135, prev=5adbae1967ce709f0a64d13a248043af2aa628851896655890604a9390e4d6f2

    main.cpp Line 3208

    {
        LogPrintf("ProcessBlock() ProcessBlock: ORPHAN BLOCK %lu, prev=%s\n", (unsigned long)mapOrphanBlocks.size(), pblock->hashPrevBlock.ToString());
    
        // Accept orphans as long as there is a node to request its parents from
        if (pfrom) {
    

    Original code

    {
        if (fDebug)
             LogPrintf("ProcessBlock() ProcessBlock: ORPHAN BLOCK %lu, prev=%s\n", (unsigned long)mapOrphanBlocks.size(), pblock->hashPrevBlock.ToString());
    

    Updated code


  • Moderators

    Remaining Messages :

    2017-08-12 10:33:13 StealthSecret failed.rv=5

    wallet.cpp - Line 2060

          {
                if (fDebug)
                    LogPrintf("StealthSecret failed.rv=%d \n",rv);
                continue;
            };
    

    Add fDebug test to message, stealth fails due to not being included yet. Message must by misinterpreting some (orphan) blocks as having stealth addresses?


  • Moderators

    Block 1089183
    Date Sun Feb 14 20:19:13 2016

    2017-08-12 11:02:52 setKeyPool.size() = 100
    2017-08-12 11:02:52 mapWallet.size() = 21
    2017-08-12 11:02:52 mapAddressBook.size() = 45
    2017-08-12 11:02:52 init message: Done loading
    2017-08-12 11:02:52 ERROR: AcceptToMemoryPool : nonstandard transaction: non-final
    2017-08-12 11:02:52 Initialization result: 1
    2017-08-12 11:03:03 dnsseed thread exit
    2017-08-12 11:03:08 GetMyExternalIP() returned 88.105.71.156
    2017-08-12 11:03:08 AddLocal(88.105.71.156:9336,4)
    2017-08-12 11:03:08 ext-ip thread exit
    2017-08-12 11:03:19 ERROR: CAlert::CheckSignature() : verify signature failed
    2017-08-12 11:03:19 Misbehaving: 66.207.163.137:9336 (0 -> 10)
    2017-08-12 11:03:30 ERROR: AcceptToMemoryPool : nonstandard transaction: non-final
    2017-08-12 11:03:30 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:30 ERROR: ProcessBlock() : CheckBlock FAILED
    2017-08-12 11:03:31 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:31 ERROR: ProcessBlock() : CheckBlock FAILED
    2017-08-12 11:03:31 ERROR: CheckBlockHeader() : block with timestamp before last checkpoint
    2017-08-12 11:03:31 ERROR: ProcessBlock() : CheckBlock FAILED


  • Moderators

    ERROR: AcceptToMemoryPool : nonstandard transaction: non-final

    main.cpp Line 899

        if (Params().NetworkID() == CChainParams::MAIN && !IsStandardTx(tx, reason))
             return state.DoS(0,
                         error("AcceptToMemoryPool : nonstandard transaction: %s", reason),
                         REJECT_NONSTANDARD, reason);
    

    Original code

        if (Params().NetworkID() == CChainParams::MAIN && !IsStandardTx(tx, reason))
             if (fDebug)
                  LogPrintf("AcceptToMemoryPool : nonstandard transaction: %s");
             return state.DoS(0,NULL, REJECT_NONSTANDARD, reason);

  • Moderators

    Remaining Debug Output :

    2017-08-12 11:53:42 No coin database inconsistencies in last 289 blocks (484 transactions)
    2017-08-12 11:53:42 init message: Checking ACP …
    2017-08-12 11:53:42 block index 14099ms
    2017-08-12 11:53:42 init message: Loading wallet…
    2017-08-12 11:53:43 nFileVersion = 90602
    2017-08-12 11:53:43 Keys: 0 plaintext, 0 encrypted, 149 w/ metadata, 0 total
    2017-08-12 11:53:43 wallet 209ms
    2017-08-12 11:53:43 init message: Loading addresses…
    2017-08-12 11:53:28 Feathercoin version v0.9.6.2-ftcit-Standard (2017-07-14 17:27:25 +0200)
    2017-08-12 11:53:28 Using OpenSSL version OpenSSL 1.0.2g 1 Mar 2016
    2017-08-12 11:53:28 Using BerkeleyDB version Berkeley DB 5.3.28: (September 9, 2013)
    2017-08-12 11:53:28 Default data directory /home/wrapper/.feathercoin
    2017-08-12 11:53:28 Using data directory /home/wrapper/.feathercoin
    2017-08-12 11:53:28 Using at most 125 connections (1024 file descriptors available)
    2017-08-12 11:53:28 Using 8 threads for script verification
    2017-08-12 11:53:28 Using wallet wallet.dat
    2017-08-12 11:53:28 init message: Verifying wallet…
    2017-08-12 11:53:28 init message: Loading block index…
    2017-08-12 11:53:42 LoadBlockIndexDB(): synchronized checkpoint 12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2
    2017-08-12 11:53:42 init message: Verifying blocks…
    2017-08-12 11:53:42 pindex->GetBlockHash()=27194dbff22fde7e4c1552ac82d3e610e405a65d2236d2ebbfa42a7565229b2a
    2017-08-12 11:53:42 view.GetBestBlock()=27194dbff22fde7e4c1552ac82d3e610e405a65d2236d2ebbfa42a7565229b2a
    2017-08-12 11:53:43 Loaded 10230 addresses from peers.dat 43ms
    2017-08-12 11:53:43 mapBlockIndex.size() = 1089184
    2017-08-12 11:53:43 nBestHeight = 1089183
    2017-08-12 11:53:43 setKeyPool.size() = 100
    2017-08-12 11:53:43 mapWallet.size() = 21
    2017-08-12 11:53:43 mapAddressBook.size() = 45
    2017-08-12 11:53:43 init message: Done loading
    2017-08-12 11:53:43 Initialization result: 1
    2017-08-12 11:53:45 GetMyExternalIP() returned xxx.xxx.xxx.xxx
    2017-08-12 11:53:45 AddLocal(xxx.xxx.xxx.xxx:9336,4)
    2017-08-12 11:53:45 ext-ip thread exit
    2017-08-12 11:53:54 dnsseed thread exit


  • Moderators

    Re: LoadBlockIndexDB(): synchronized checkpoint 12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2

    **main.cpp - Line 3544

    // ppcoin: load hashSyncCheckpoint
    if (!pblocktree->ReadSyncCheckpoint(hashSyncCheckpoint))
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint not read\n");
    else
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint %s\n", hashSyncCheckpoint.ToString().c_str());
    

    Original code

    if (!pblocktree->ReadSyncCheckpoint(hashSyncCheckpoint))
    	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint not read\n");
    else
         if (fDebug)
         	 LogPrintf("LoadBlockIndexDB(): synchronized checkpoint %s\n", hashSyncCheckpoint.ToString().c_str());

  • Moderators

    Re: pindex->GetBlockHash() and view.GetBestBlock()

    2017-08-12 12:19:10 init message: Verifying blocks…
    2017-08-12 12:19:10 pindex->GetBlockHash()=e99f253c8e758d109b7b52b17509d34196229628ead58ac3fe4ab4d278e97acc
    2017-08-12 12:19:10 view.GetBestBlock()=e99f253c8e758d109b7b52b17509d34196229628ead58ac3fe4ab4d278e97acc

    main.cpp - Line 1823

          LogPrintf("pindex->GetBlockHash()=%s \n",pindex->GetBlockHash().ToString());
         LogPrintf("view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Original code

          if (fDebug)
               LogPrintf("pindex->GetBlockHash()=%s \n",pindex->GetBlockHash().ToString());
          if (fDebug)
               LogPrintf("view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Updated code

    if (fDebug)
         LogPrintf("ConnectBlock hashPrevBlock=%s \n",hashPrevBlock.ToString());
    if (fDebug)
         LogPrintf("ConnectBlock view.GetBestBlock()=%s \n",view.GetBestBlock().ToString());
    

    Code update main.cpp Line 1957


  • Moderators

    Re: Loaded 10230 addresses from peers.dat 43ms

    init.cpp Line 1109

       if (fDebug) 
             LogPrintf("Loaded %i addresses from peers.dat  %dms\n", addrman.size(), GetTimeMillis() - nStart);
    

    Code updated

    init.cpp - Line 1121

    if (fDebug)
         {
                LogPrintf("mapBlockIndex.size() = %u\n",   mapBlockIndex.size());
                LogPrintf("nBestHeight = %d\n", chainActive.Height());
         }
     #ifdef ENABLE_WALLET
         if (fDebug)
              {
              LogPrintf("setKeyPool.size() = %u\n",      pwalletMain ? pwalletMain->setKeyPool.size() : 0);
              LogPrintf("mapWallet.size() = %u\n",       pwalletMain ? pwalletMain->mapWallet.size() : 0);
              LogPrintf("mapAddressBook.size() = %u\n",  pwalletMain ? pwalletMain->mapAddressBook.size() : 0);
               }
      #endif
    

    Updated code


  • Moderators

    Remaining Debug messages

    2017-08-12 12:51:41 Feathercoin version v0.9.6.2-ftcit-Standard (2017-07-14 17:27:25 +0200)
    2017-08-12 12:51:41 Using OpenSSL version OpenSSL 1.0.2g 1 Mar 2016
    2017-08-12 12:51:41 Using BerkeleyDB version Berkeley DB 5.3.28: (September 9, 2013)
    2017-08-12 12:51:41 Default data directory /home/wrapper/.feathercoin
    2017-08-12 12:51:41 Using data directory /home/wrapper/.feathercoin
    2017-08-12 12:51:41 Using at most 125 connections (1024 file descriptors available)
    2017-08-12 12:51:41 Using 8 threads for script verification
    2017-08-12 12:51:41 Using wallet wallet.dat
    2017-08-12 12:51:41 init message: Verifying wallet…
    2017-08-12 12:51:41 init message: Loading block index…
    2017-08-12 12:51:56 init message: Verifying blocks…
    2017-08-12 12:51:56 No coin database inconsistencies in last 289 blocks (535 transactions)
    2017-08-12 12:51:56 init message: Checking ACP …
    2017-08-12 12:51:56 block index 14829ms
    2017-08-12 12:51:56 init message: Loading wallet…
    2017-08-12 12:51:56 nFileVersion = 90602
    2017-08-12 12:51:56 Keys: 0 plaintext, 0 encrypted, 149 w/ metadata, 0 total
    2017-08-12 12:51:56 wallet 220ms
    2017-08-12 12:51:56 init message: Loading addresses…
    2017-08-12 12:51:56 init message: Done loading
    2017-08-12 12:51:56 Initialization result: 1
    2017-08-12 12:51:58 connect() to 73.96.36.22:9336 failed after select(): Connection refused (111)
    2017-08-12 12:52:01 ERROR: GetMyExternalIP() : connection to 91.198.22.70:80 failed
    2017-08-12 12:52:02 GetMyExternalIP() returned xxx.xxx.xxx.xxx
    2017-08-12 12:52:02 AddLocal(xxx.xxx.xxx.xxx:9336,4)
    2017-08-12 12:52:02 ext-ip thread exit
    2017-08-12 12:52:07 dnsseed thread exit
    2017-08-12 12:52:24 connect() to xxx.xxx.xxx.xxx:9336 failed after select(): No route to host (113)


  • Moderators

    init.cpp Line 638

        if (GetBoolArg("-shrinkdebugfile", !fDebug))
             ShrinkDebugFile();
         if (fDebug)
             {
               LogPrintf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
               LogPrintf("Feathercoin version %s (%s)\n", FormatFullVersion(), CLIENT_DATE);
               LogPrintf("Using OpenSSL version %s\n",  SSLeay_version(SSLEAY_VERSION));
                  }
     #ifdef ENABLE_WALLET
         if (fDebug) 
             LogPrintf("Using BerkeleyDB version %s\n", DbEnv::version(0, 0, 0));
     #endif
         if (fDebug)
             {
                   if (!fLogTimestamps)
                       LogPrintf("Startup time: %s\n", DateTimeStrFormat("%Y-%m-%d %H:%M:%S", GetTime()));
                     LogPrintf("Default data directory %s\n", GetDefaultDataDir().string());
                     LogPrintf("Using data directory %s\n", strDataDir);
                     LogPrintf("Using at most %i connections (%i file descriptors available)\n", nMaxConnections, nFD);
             }     
          std::ostringstream strErrors;
    

    if (fDebug) added to a number of “normal condition” debug messages.

    walletdb ~ Line 700

          if (fDebug)
         {
              LogPrintf("nFileVersion = %d\n", wss.nFileVersion);
              LogPrintf("Keys: %u plaintext, %u encrypted, %u w/ metadata, %u total\n",
                   wss.nKeys, wss.nCKeys, wss.nKeyMeta, wss.nKeys + wss.nCKeys);
          }
    

    Code added

    init.cpp Line 949

         if (fDebug)
             LogPrintf(" block index %15dms\n", GetTimeMillis() - nStart);
    

    Code added

    net.cpp Line 489

    /// debug print
        if (fDebug)
             LogPrint("net", "trying connection %s lastseen=%.1fhrs\n",
    

    Code added

    net.cpp Line 348

           if (fDebug)  
                LogPrintf("GetMyExternalIP() received [%s] %s\n", strLine, addr.ToString());
    

    init.cpp Line 672

    if (!fDisableWallet) {
        if (fDebug)
             LogPrintf("Using wallet %s\n", strWalletFile);
        uiInterface.InitMessage(_("Verifying wallet..."));
    

    Code added

    init.cpp Line 661

        if (nScriptCheckThreads) {
            if (fDebug)
                 LogPrintf("Using %u threads for script verification\n", nScriptCheckThreads);
    

    Code added

    /src/qt/bitcoin.cpp Line 446

    if (fDebug)
        LogPrintf("Shutdown result: %i\n", retval);
    

    /src/qt/bitcoin.cpp Line 390

    if (fDebug)
        LogPrintf("Initialization result: %i\n", retval);
    

    Code added


  • Moderators

    net.cpp Line 316

    if (!ConnectSocket(addrConnect, hSocket))
        {
        if (fDebug)    
             LogPrintf("GetMyExternalIP() : connection to %s failed", addrConnect.ToString());
        return true;
        }
    

    Debug selection code added, removed from return error.

    init.cpp Line 112

    if (fDebug)
       LogPrintf("Shutdown : In progress...\n");
    

    init.cpp Line 152

    if (fDebug)
        LogPrintf("Shutdown : done\n");
    

    Code added

    net.cpp Line 240

    if (fDebug)
        LogPrintf("AddLocal(%s,%i)\n", addr.ToString(), nScore);
    

    net.cpp Line 1732

                {
                    if (fDebug)
                       LogPrintf("IPv4 %s: %s\n", ifa->ifa_name, addr.ToString());
    
    
                }
    

    net.cpp Line 429

        if (fDebug)
             LogPrintf("GetMyExternalIP() returned %s\n", addrLocalHost.ToStringIP());
        AddLocal(addrLocalHost, LOCAL_HTTP);
    

    netbase.cpp Line 366

               if (fDebug)
                    LogPrintf("select() for %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError()));
    

    netbase.cpp Line 385

                if (fDebug)
                    LogPrintf("connect() to %s failed after select(): %s\n", addrConnect.ToString(), NetworkErrorString(nRet));
    

    init.cpp Line 1062

        if (fDebug)
        {
             LogPrintf("%s", strErrors.str());
             LogPrintf(" wallet      %15dms\n", GetTimeMillis() - nStart);
        }
    

    main.cpp Line 4722

        if (fDebug)
            LogPrintf("Receive checkpoint,hashCheckpoint=%s\n.",checkpoint.hashCheckpoint.ToString().c_str());
    
        if (checkpoint.ProcessSyncCheckpoint(pfrom))
        {
                if fDebug)
                   LogPrintf("checkpoint.ProcessSyncCheckpoint(pfrom)=true, hashCheckpoint=%s\n.",checkpoint.hashCheckpoint.ToString().c_str());
    

    Code Added


  • Moderators

    net.cpp - Line 1771

     if (fDebug)
        LogPrintf("StopNode()\n");
    

    net.cpp - Line 1799

       if (fDebug)
           LogPrintf("DNS seeding disabled\n");
    

    Util.h

    Various thread start end messages

       { 
             if (fDebug)
        /        LogPrintf("%s thread start\n", name);
             func();
             if (fDebug)
                  LogPrintf("%s thread exit\n", name);
         }
         catch (boost::thread_interrupted)
         {
              if (fDebug)
                    LogPrintf("%s thread interrupt\n", name);
    

    Code added

    /src/qt/bitcoin.cpp

    if (fDebug)
        LogPrintf("Requesting initialize\n");
    
    
    if (f Debug)
       LogPrintf("Requesting shutdown\n");
    
    if (fDebug)
       LogPrintf("Stopping thread\n");
    emit stopThread();
    coreThread->wait();
    if (fDebug)
        LogPrintf("Stopped thread\n");
    

    Code added

         {
             if (fDebug)
                 LogPrintf("Running Shutdown in thread\n");
             threadGroup.interrupt_all();
             threadGroup.join_all();
             Shutdown();
             if (fDebug)
                 LogPrintf("Shutdown finished\n");
    

    Code added

        if (fDebug)
            LogPrintf("Running AppInit2 in thread\n");
    

    Code added

    if (fDebug)
        LogPrintf("init message: %s\n", message);
    

    Code added

    if (fDebug)
        LogPrint("qt", "GUI: %s\n", msg);
    

    Code added

    if (fDebug)
         LogPrint("qt", "GUI: %s\n", qPrintable(msg));
    

    Code added


  • Moderators

    Remaining Messages

    2017-08-12 18:01:39 Receive checkpoint,hashCheckpoint=0000000000000000000000000000000000000000000000000000000000000000
    .ERROR: CSyncCheckpoint::CheckSignature() : verify signature failed
    2017-08-12 18:02:05 UPNP_DeletePortMapping() returned : 0

    net.cpp

            if (fDebug)
                LogPrintf("UPNP_DeletePortMapping() returned : %d\n", r);
    

    Code added

            if(r != UPNPCOMMAND_SUCCESS)
                if (fDebug)
                     LogPrintf("UPnP: GetExternalIPAddress() returned %d\n", r);
            else
    

    Code added

               else
                    if (fDebug)
                        LogPrintf("UPnP: GetExternalIPAddress failed.\n");
    

    Code added

                if(r!=UPNPCOMMAND_SUCCESS)
                    if (fDebug)
                        LogPrintf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n",
                        port, port, lanaddr, r, strupnperror(r));
    

    Code added

    checkpointsync.cpp

    if (!key.SetPubKey(ParseHex(strMasterPubKey)))
        {
        if (fDebug)
            LogPrintf("CSyncCheckpoint::CheckSignature() : SetPubKey failed");
        return true;
        }
    if (!key.Verify(Hash(vchMsg.begin(), vchMsg.end()), vchSig))
        {
        if (fDebug)
            LogPrintf("CSyncCheckpoint::CheckSignature() : verify signature failed");
        return true;
        }
    

    Code added


  • Moderators

    I’d keep the last one, as ACP checkpoint checksignature failed is relative important


  • Moderators

    I’ve been through and added more, if (fDebug) (as opposed to just commenting them out) .

    Most of the debug messages are still there, you just have to run -debug to see them. The checkpoint “error” did not seem to be a “Fault”, just a none complaint checkpoint.


  • Moderators

    [FAQ] What is the difference between LogPrint() and LogPrintf() in the Feathercoin/Bitcoin source code?

    Under normal conditions the LogPrintf() should only be used to report an unusual error, otherwise it is used during development to confirm an action and commented out for production versions.

    Writing unnecessary messages to debug slows the system and takes up disk space. Whilst the debug can be shrunk, this relies on additional parameters being passed or set up at install time.

    LogPrintf() statements log the output into debug.log file. LogPrint() statements only out put to the log file if -debug is set.


  • Moderators

    main.h

     static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100;
      /** Default for -maxorphanblocks, maximum number of orphan blocks kept in memory */
     -static const unsigned int DEFAULT_MAX_ORPHAN_BLOCKS = 750;
    
     +static const unsigned int DEFAULT_MAX_ORPHAN_BLOCKS = 7500;
    
      /** The maximum size of a blk?????.dat file (since 0.8) */
    

    Increased Max orphans default to 7500.


  • Moderators

    @wrapper

    too high. I’d try 1500.

    There is a reason to limit the max number of orphan blocks


  • Moderators

    @Wellenreiter said in [Dev] Feathercoin 0.9.6.2 * Maintenance fix, build & upgrade issues notes.:

    @wrapper

    too high. I’d try 1500.

    There is a reason to limit the max number of orphan blocks

    I’ve tested it at 10,000 and that is (7500) what Dogecoin raised it to. There is no point it being lower, it was set too low.


  • Moderators

    @wrapper it’s a security measure against (D)DOS attacks to the BC, so it will work even when set to 10000000, but may stall the BC, if someone injects a high number of orphans. I’m not sure how many orphans an attacker could create, but…


Log in to reply
 

Looks like your connection to Feathercoin Forum was lost, please wait while we try to reconnect.