`bitcoin-cli loadwallet "wallet.dat"` command causes bitcoind crash

log info:
```
bitcoind: wallet/db.cpp:236: BerkeleyEnvironment::VerifyResult BerkeleyEnvironment::Verify(const string&, BerkeleyEnvironment::recoverFunc_type, std::__cxx11::string&): Assertion `mapFileUseCount.count(strFile) == 0' failed.
Aborted (core dumped)
```

Bitcoin Core Daemon version `v0.17.0.0-ge1ed37edaedc85b8c3468bd9a726046344036243`

{
    AssertLockHeld(cs_main);
    AssertLockHeld(cs_wallet);
    vCoins.clear();
    CAmount nTotal = 0;
    for (const auto& entry : mapWallet)
    {
        const uint256& wtxid = entry.first;
        const CWalletTx* pcoin = &entry.second;
        if (!CheckFinalTx(*pcoin->tx))
            continue;
        if (pcoin->IsImmatureCoinBase())
            continue;
        int nDepth = pcoin->GetDepthInMainChain();
        if (nDepth < 0)
            continue;
        
        
        if (nDepth == 0 && !pcoin->InMempool())
            continue;
        bool safeTx = pcoin->IsTrusted();