Calling `*txoutset` calls in the console has been broken since #19056. The addition of the `RpcInterruptionPoint()` calls means that any user running the GUI without passing `-server`, will just see ["Shutting down"](https://github.com/bitcoin/bitcoin/blob/b33136b6ba9887f7db651c4c5264ca7f2f601df7/src/rpc/server.cpp#L325) printed to the console:

![console](https://user-images.githubusercontent.com/863730/84460760-55599a80-ac9d-11ea-8720-a718edde75dd.png)

cc @MarcoFalke 
uint256 hash = ParseHashV(request.params[0], "parameter 1");
    const CTxMemPool& mempool = EnsureMemPool(request.context);
    LOCK(mempool.cs);
    CTxMemPool::txiter it = mempool.mapTx.find(hash);
    if (it == mempool.mapTx.end()) {
        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Transaction not in mempool");
    }
    CTxMemPool::setEntries setAncestors;
    uint64_t noLimit = std::numeric_limits<uint64_t>::max();
    std::string dummy;
    mempool.CalculateMemPoolAncestors(*it, setAncestors, noLimit, noLimit, noLimit, noLimit, dummy, false);
    if (!fVerbose) {
        UniValue o(UniValue::VARR);
        for (CTxMemPool::txiter ancestorIt : setAncestors) {
            o.push_back(ancestorIt->GetTx().GetHash().ToString());
        }
        return o;
    } else {
        UniValue o(UniValue::VOBJ);
        for (CTxMemPool::txiter ancestorIt : setAncestors) {
            const CTxMemPoolEntry &e = *ancestorIt;
            const uint256& _hash = e.GetTx().GetHash();
            UniValue info(UniValue::VOBJ);
            entryToJSON(mempool, info, e);
            o.pushKV(_hash.ToString(), info);
        }
        return o;
    }
}
static UniValue getmempooldescendants(const JSONRPCRequest& request)