关于protobuf的一些问题

时间:2014-08-19 03:18:46

标签: c++ nginx utf-8 protocol-buffers

我们正在构建RTB(实时出价)平台。使用nginx作为http服务器,出价者在lua,google协议缓冲区中编写用于序列化数据和Zlog用于日志。测试运行后,我们在nginx错误日志中收到三条错误消息:

  1. “[libprotobuf错误,google / protobuf / wire_format.cc:1053] 解析协议缓冲区时,字符串字段包含无效的UTF-8数据。 如果要发送原始字节,请使用'bytes'类型。“ 所以我们回去检查协议缓冲区的源代码,发现这个检查是由宏控制的(-DNDEBUG:根据注释,它意味着不是调试模式?)。 -DNDEBUG禁用GOOGLE_PROTOBUF_UTF8_VALIDATION(我认为?)。因此,我们在配置中启用了此宏(-DNDEBUG)。但是,经过测试,我们仍然得到相同的错误消息。然后,我们将所有“字符串”类型更改为XXX.proto中的“Bytes”typr。测试后,显示相同的错误消息。

  2. 工作进程53574退出信号11(核心转储),然后进程死亡。

  3. lua条目线程已中止:运行时错误:/home/bilin/rtb/src/lua/shared/log.lua:34:'short'无法调用“

  4. 希望有人能帮我们解决这些问题。 谢谢。

0 个答案:

没有答案