[bug] 执行退出 报错:panic: interface conversion: interface {} is int64, not []uint8
Opened this issue · 0 comments
mytrygithub commented
1、遇到的问题
执行测试报错:panic: interface conversion: interface {} is int64, not []uint8
2、分析
错误位置:
CheckFullValueFetchAll 中:targetValue = targetReply[i].([]byte)
错误直接原因:
PipeRawCommand 中执行p.conn.Receive出现错误,继续执行到了 result[i] = common.TypeChanged
相关代码:
src/full_check/client/client.go 中PipeRawCommand代码:
// 此处处理不太好,但是别人代码写死了,我只能这么改了
if strings.HasPrefix(err.Error(), specialErrorPrefix) {
我的测试简单调用关系为:
CheckFullValueFetchAll->PipeValueCommand->PipeRawCommand(commands, "")
3、初步结论:
PipeRawCommand 中 specialErrorPrefix 在一些调用中设置为“”, 这样就忽略掉了一些错误,都设置为common.TypeChanged。
这样导致无法发现server的一些错误,同时测试过程无法继续。