After upgrade with the V0.15.0, we found the RPC have a bug, if the RPC server have some exception, we can't see the error message in RPC client like below.

After some investigations, I found only if the exception is raise by a Python packed function will cause this issue, like the below experiment, the C++'s exception is thrown to Python side correctly, then the Python throw it again will lose the error message, the RPC client only can receive the exception but the error message in it is empty.


If the exception is happened in a pure C++ remote packed function, then the error message is correctly sent back to the RPC client.
How to reproduce ?
just hard code a raise "xxxxx" in the function begin of load_module in python/tvm/rpc/server.py, or other Python packed function, and then call it in RPC client.
After upgrade with the V0.15.0, we found the RPC have a bug, if the RPC server have some exception, we can't see the error message in RPC client like below.
After some investigations, I found only if the exception is raise by a Python packed function will cause this issue, like the below experiment, the C++'s exception is thrown to Python side correctly, then the Python throw it again will lose the error message, the RPC client only can receive the exception but the error message in it is empty.

If the exception is happened in a pure C++ remote packed function, then the error message is correctly sent back to the RPC client.
How to reproduce ?
just hard code a
raise "xxxxx"in the function begin ofload_moduleinpython/tvm/rpc/server.py, or other Python packed function, and then call it in RPC client.