I placed down several signs that had embedded commands to give the closest player a book when activated. I tested it myself, both as op and non-op in adventure mode and it gave me a book every time. I asked 2 friends to test it by logging in from their own clients and it didn't work for either of them, except in one instance when I de-opped myself, logged out and logged back in, then it worked for one of them up until I op'd myself again. The exact command I used for a sign was:
/give @p minecraft:sign 1 0 {BlockEntityTag:{Text1:"{\"text\":\"\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"scoreboard players tag @p remove wizard\"}}",Text2:"{\"text\":\"WARRIOR\",\"color\":\"dark_gray\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"scoreboard players tag @p remove ranger\"}}",Text3:"{\"text\":\"\",\"color\":\"dark_gray\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"scoreboard players tag @p add warriorstarter\"}}",Text4:"{\"text\":\"\",\"color\":\"dark_gray\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/effect @p clear\"}}"},display:{Name:"Warrior Sign"}}
Edit: after further testing, the signs were spawn-protected, so the actual bug is sometimes spawn protection is removed from them.
Dupe of MC-59653