diff --git a/python/ray/util/client/worker.py b/python/ray/util/client/worker.py index 9f2f189c6..b0a4b78f5 100644 --- a/python/ray/util/client/worker.py +++ b/python/ray/util/client/worker.py @@ -172,7 +172,11 @@ class Worker: except grpc.RpcError as e: raise e.details() if not data.valid: - err = cloudpickle.loads(data.error) + try: + err = cloudpickle.loads(data.error) + except Exception: + logger.exception("Failed to deserialize {}".format(data.error)) + raise logger.error(err) raise err return loads_from_server(data.data) @@ -256,7 +260,12 @@ class Worker: except grpc.RpcError as e: raise decode_exception(e.details) if not ticket.valid: - raise cloudpickle.loads(ticket.error) + try: + raise cloudpickle.loads(ticket.error) + except Exception: + logger.exception("Failed to deserialize {}".format( + ticket.error)) + raise return ticket.return_ids def call_release(self, id: bytes) -> None: