tl;dr; If you want to continue to be able to claim airdropped coins, better not store your Bitcoins on Segwit addresses for the time being.
Coin Distributions to Bitcoin Holders
Every now and then a new coin is launched which is distributed among Bitcoin holders. This year for instance, we have had Stellar, BitCore, and my favorite: Byteball. There may be others that I am not aware of - please share in the comments if you know of any others.
BitCore is still open for claims, while Byteball currently has a recurring claim every full moon, the next one being on September 6th, 2017 at 07:02 UTC.
The usual mechanism to claim coins, is to sign a message with the private key of your Bitcoin address. Sometimes other methods are available, such as claiming via an exchange (e.g. Stellar) or making a small transaction (e.g. Byteball), but even then signing remains the cheapest and quickest way to claim your coins. In some cases (e.g. Bitcore) signing is the only way.
Cannot Sign With A Segwit Address
After years of development and waiting, Segwit has now finally been activated. Making it possible to store your Bitcoins in a Segwit address, from which future payments can be made with lower fees.
Which is great, but unfortunately we can not sign messages with Segwit addresses. The issue was reported on github. I replicated the problem and got the same error message.
bitcoin-cli signmessage MY_SEGWIT_ADDRESS "MY_BYTEBALL_ADDRESS" error code: -3 error message: Address does not refer to key
There are some technical explanations on github as to why this is the correct behavior as well as some suggested solutions. But that does not solve the problem for a Bitcoin holder who just wants to claim her coins now.
If you want take part in future airdrops of coins, the prudent thing seems to be to leave your Bitcoins on non-Segwit addresses, at least for now.