diff --git a/remoting/getty/readwriter.go b/remoting/getty/readwriter.go
index ae96f35391a9c23bad68c78fbb89f4d1667ef709..26623edd09f6eeea7dae48b5e8d57408bf91adea 100644
--- a/remoting/getty/readwriter.go
+++ b/remoting/getty/readwriter.go
@@ -50,6 +50,7 @@ func (p *RpcClientPackageHandler) Read(ss getty.Session, data []byte) (interface
 	resp, length, err := (p.client.codec).Decode(data)
 	//err := pkg.Unmarshal(buf, p.client)
 	if err != nil {
+		err = perrors.Cause(err)
 		if err == hessian.ErrHeaderNotEnough || err == hessian.ErrBodyNotEnough {
 			return nil, 0, nil
 		}