Version: 0.18.1 (64-bit) on Windows 10.0.18362.418

Using the following config, bitcoind crashes.

This is not #15808 because the assignments are within the regtest section (see the comment on that issue).

Seems like it is #7496 reappearing.

```
[regtest]
rpcuser=user
rpcpassword=pass
rpcport=8332
server=1
zmqpubrawblock=127.0.0.1:40000
zmqpubrawtx=127.0.0.1:40000
```

```
PS C:\Program Files\Bitcoin\daemon> .\bitcoind -regtest -txindex
2019-10-18T07:05:41Z Bitcoin Core version v0.18.1 (release build)
2019-10-18T07:05:41Z Validating signatures for all blocks.
2019-10-18T07:05:41Z Setting nMinimumChainWork=0000000000000000000000000000000000000000000000000000000000000000
2019-10-18T07:05:41Z Using the 'sse4(1way),sse41(4way),avx2(8way)' SHA256 implementation
2019-10-18T07:05:41Z Using RdSeed as additional entropy source
2019-10-18T07:05:41Z Using RdRand as an additional entropy source
2019-10-18T07:05:41Z Default data directory C:\Users\janus\AppData\Roaming\Bitcoin
2019-10-18T07:05:41Z Using data directory C:\Users\janus\AppData\Roaming\Bitcoin\regtest
2019-10-18T07:05:41Z Config file: C:\Users\janus\AppData\Roaming\Bitcoin\bitcoin.conf
2019-10-18T07:05:41Z Using at most 125 automatic connections (2048 file descriptors available)
2019-10-18T07:05:41Z Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
2019-10-18T07:05:41Z Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
2019-10-18T07:05:41Z Using 4 threads for script verification
2019-10-18T07:05:41Z scheduler thread start
2019-10-18T07:05:41Z libevent: getaddrinfo: nodename nor servname provided, or not known
2019-10-18T07:05:41Z Binding RPC on address ::1 port 8332 failed.
2019-10-18T07:05:41Z HTTP: creating work queue of depth 16
2019-10-18T07:05:41Z Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcauth for rpcauth auth generation.
2019-10-18T07:05:41Z HTTP: starting 4 worker threads
2019-10-18T07:05:41Z Using wallet directory C:\Users\janus\AppData\Roaming\Bitcoin\regtest\wallets
2019-10-18T07:05:41Z init message: Verifying wallet(s)...
2019-10-18T07:05:41Z Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2019-10-18T07:05:41Z Using wallet C:\Users\janus\AppData\Roaming\Bitcoin\regtest\wallets
2019-10-18T07:05:41Z BerkeleyEnvironment::Open: LogDir=C:\Users\janus\AppData\Roaming\Bitcoin\regtest\wallets\database ErrorFile=C:\Users\janus\AppData\Roaming\Bitcoin\regtest\wallets\db.log
2019-10-18T07:05:42Z init message: Loading banlist...
2019-10-18T07:05:42Z ERROR: DeserializeFileDB: Failed to open file C:\Users\janus\AppData\Roaming\Bitcoin\regtest\banlist.dat
2019-10-18T07:05:42Z Invalid or missing banlist.dat; recreating
Assertion failed!

Program: C:\Program Files\Bitcoin\daemon\bitcoind.exe
File: zmq/zmqpublishnotifier.cpp, Line 115

Expression: psocket
PS C:\Program Files\Bitcoin\daemon>
```
{
    LogPrint(BCLog::ZMQ, "zmq: Publish rawblock %s\n", pindex->GetBlockHash().GetHex());
    const Consensus::Params& consensusParams = Params().GetConsensus();
    CDataStream ss(SER_NETWORK, PROTOCOL_VERSION | RPCSerializationFlags());
    {
        LOCK(cs_main);
        CBlock block;
        if(!ReadBlockFromDisk(block, pindex, consensusParams))
        {
            zmqError("Can't read block from disk");
            return false;
        }
        ss << block;
    }
    return SendMessage(MSG_RAWBLOCK, &(*ss.begin()), ss.size());
}
bool CZMQPublishRawTransactionNotifier::NotifyTransaction(const CTransaction &transaction)
{
    uint256 hash = transaction.GetHash();
    LogPrint(BCLog::ZMQ, "zmq: Publish rawtx %s\n", hash.GetHex());
    CDataStream ss(SER_NETWORK, PROTOCOL_VERSION | RPCSerializationFlags());
    ss << transaction;
    return SendMessage(MSG_RAWTX, &(*ss.begin()), ss.size());
}