Before this change, a failure to deserialize an RPC reply would leave the caller hanging because we'd never set the future.