in v0.12 https://github.com/bitcoin/bitcoin/pull/7081 (by @luke-jr) was merged adding `-bytespersigop` (with default of 20).

this is preventing simple bare multisig transactions from being accepted into mempool when the size is < 400 bytes.  
eg; https://gist.github.com/rubensayshi/ac4f617207f7a50559e85d61c05800be

from 1-of-7 and onwards they are accepted because the ratio of bytes:sigops is high enough.  
also having 2 or more inputs will work because it again tips the ratio of bytes:sigops over.

the reason mainly being that `GetLegacySigOpCount` calls `GetSigOpCount` with `fAccurate=false`.

It looks like changing `GetLegacySigOpCount` to use `fAccurate=true` would cause side effects in the few other places (`ConnectBlock`, `CheckBlock`, `CreateNewBlock`) and simply adding `fAccurate` as arg to `GetLegacySigOpCount` would affect the value stored in `CTxMemPoolEntry.sigOpCount` which in turn affects a bunch of other things.

if (!CheckDiskSpace())
        return false;
    if (!strErrors.str().empty())
        return InitError(strErrors.str());
    
    LogPrintf("mapBlockIndex.size() = %u\n",   mapBlockIndex.size());
    LogPrintf("nBestHeight = %d\n",                   chainActive.Height());
#ifdef ENABLE_WALLET
    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
    if (GetBoolArg("-listenonion", DEFAULT_LISTEN_ONION))
        StartTorControl(threadGroup, scheduler);
    StartNode(threadGroup, scheduler);
    
    SetRPCWarmupFinished();
    uiInterface.InitMessage(_("Done loading"));
#ifdef ENABLE_WALLET
    if (pwalletMain) {
        
        pwalletMain->ReacceptWalletTransactions();
        
        threadGroup.create_thread(boost::bind(&ThreadFlushWalletDB, boost::ref(pwalletMain->strWalletFile)));
    }
#endif
    return !fRequestShutdown;
}