Using master. During startup, if you open `Window` -> `Console` and try and execute any command (can be garbage) `bitcoin-qt` will crash:
```bash
On branch pull/16118/local-merge

Process 89287 launched: '/Users/michael/github/bitcoin/src/qt/bitcoin-qt' (x86_64)
2019-05-29 09:57:56.276746-0400 bitcoin-qt[89287:939924] MessageTracer: Falling back to default whitelist
Process 89287 stopped
* thread #1, name = 'bitcoin-main', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8)
    frame #0: 0x00000001015158ba QtWidgets`QCompleter::popup() const + 10
QtWidgets`QCompleter::popup:
->  0x1015158ba <+10>: movq   0x8(%rdi), %rbx
    0x1015158be <+14>: movq   0x88(%rbx), %rax
    0x1015158c5 <+21>: testq  %rax, %rax
    0x1015158c8 <+24>: jne    0x101515942               ; <+146>
Target 0: (bitcoin-qt) stopped.
```

Not sure if just disabling the menu, like in #16118 would be ok, as a user might actually want to be able to run a command.
RPCTimerBase* NewTimer(std::function<void()>& func, int64_t millis)
    {
        return new QtRPCTimerBase(func, millis);
    }
};
#include <qt/rpcconsole.moc>
/**
 * Split shell command line into a list of arguments and optionally execute the command(s).
 * Aims to emulate \c bash and friends.
 *
 * - Command nesting is possible with parenthesis; for example: validateaddress(getnewaddress())
 * - Arguments are delimited with whitespace or comma
 * - Extra whitespace at the beginning and end and between arguments will be ignored
 * - Text can be "double" or 'single' quoted
 * - The backslash \c \ is used as escape character
 *   - Outside quotes, any character can be escaped
 *   - Within double quotes, only escape \c " and backslashes before a \c " or another backslash
 *   - Within single quotes, no escaping is possible and no special interpretation takes place
 *
 * @param[in]    node    optional node to execute command on
 * @param[out]   strResult   stringified result from the executed command(chain)
 * @param[in]    strCommand  Command line to split
 * @param[in]    fExecute    set true if you want the command to be executed
 * @param[out]   pstrFilteredOut  Command line, filtered to remove any sensitive data
 */
bool RPCConsole::RPCParseCommandLine(interfaces::Node* node, std::string &strResult, const std::string &strCommand, const bool fExecute, std::string * const pstrFilteredOut, const WalletModel* wallet_model)
{
    std::vector< std::vector<std::string> > stack;
    stack.push_back(std::vector<std::string>());
    enum CmdParseState