Looks like Weapon on your RPC is invalid, you should always validate refs which will confirm the error at least.
i see the variable is replicated but it must also be Spawned and Set on server.
option 2 is to not pass it through the RPC at all, this is how cheating happens, the player should just say ‘I want to fire’ and the server will verify it has a weapon