[fix] propagate error on send_recv