Current bitcoin-master on testnet, `maxconnections=8` in the config file. Running in VM that doesn't have public IP and is not reachable from the Internet.

Wait until you have 8 peers.

```
telnet localhost 18333
```

It will result in:

```
Assertion failed: (nMaxInbound > 0), function AcceptConnection, file net.cpp, line 973.
```

First found in https://github.com/bitcoin/bitcoin/pull/8996, but can be reproduced on master.

{
                    TRY_LOCK(pnode->cs_vSend, lockSend);
                    if (lockSend) {
                        if (pnode->nOptimisticBytesWritten) {
                            RecordBytesSent(pnode->nOptimisticBytesWritten);
                            pnode->nOptimisticBytesWritten = 0;
                        }
                        if (!pnode->vSendMsg.empty()) {
                            FD_SET(pnode->hSocket, &fdsetSend);
                            continue;
                        }
                    }
                }
                {
                    TRY_LOCK(pnode->cs_vRecvMsg, lockRecv);
                    if (lockRecv && (
                        pnode->vRecvMsg.empty() || !pnode->vRecvMsg.front().complete() ||
                        pnode->GetTotalRecvSize() <= GetReceiveFloodSize()))
                        FD_SET(pnode->hSocket, &fdsetRecv);
                }
            }
        }
        int nSelect = select(have_fds ? hSocketMax + 1 : 0,
                             &fdsetRecv, &fdsetSend, &fdsetError, &timeout);
        boost::this_thread::interruption_point();
        if (nSelect == SOCKET_ERROR)
        {
            if (have_fds)
            {