爬坑记录3:grpc c++ bidirectional stream crash with "proto_buffer_writer.h:65 assertion failed: !byte_buffer->Valid()
异常信息:
proto_buffer_writer.h:65 assertion failed: !byte_buffer->Valid()
- 1:定位思路:
- 如异常信息所示,bytebuffer 为空,使用grpc时,出现释放数据多次的情况;
- 2: 查阅了资料,发现:
!byte_buffer->Valid()
难道是我数据操作太频繁了,于是重新测试了一下,并非如此,线程数为1也是会出错; - 3:最终定位:回调数据已经返回后仍然继续使用该数据,而实际上该数据已经释放;