<!-- This issue tracker is only for technical issues related to Bitcoin Core. General bitcoin questions and/or support requests are best directed to the Bitcoin StackExchange at https://bitcoin.stackexchange.com. For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/. If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running memtest and observe CPU temperature with a load-test tool such as linpack before creating an issue! -->
<!-- Describe the issue -->
What Happens
When you click File|Sign Message, the UI asks you to choose an address with which to sign. You can enter one by hand, paste from clipboard, or "Choose a previously used address." The third option provides a list of addresses that includes addresses for which there is no private key (P2SH addresses). This is intimately related to #10542 but the fix here is straightforward.
<!--- What behavior did you expect? -->
Expected Behavior
I expect addresses for which no private key is known to be excluded from the list presented. I realize that the same list is used to select an address to which to receive a payment, but that code could be adjusted to accept a filter, or the private-key-less addresses could be filtered out during display.
<!--- What was the actual behavior (provide screenshots if the issue is GUI-related)? -->
To reproduce
Ensure that you have at least one P2SH address in your Bitcoin core wallet. Select File | Sign Message Click the address book. Note that there are P2SH addresses offered for selection.
This is in Bitcoin Core 0.18.