Ruby Mac 环境下搭建 zeromq 配合 ffi-rzmq

marssun · November 13, 2015 · 3351 hits

ruby 版本

  • 2.2.1

安装 zeromq

brew install zeromq32

从目前的实践来看,zero 的最新稳定版本为 4.1.x,但是在实践过程中发现这个最新版本似乎和 mac、ruby 的环境有一定的不吻合,原因自己也没有弄清楚。在查找问题的过程中发现,其他的开发者也遇到的同样的问题,目前我采用的解决方式是选择低版本的 zeromq。在 github 有人已经报告了这个问题,链接地址

安装 gem 包

gem install ffi-rzmq

安装完成后,可以参考 github 中给出的例子进行测试,示例

发生问题时的提示输出

ruby(52657,0x10969d000) malloc: *** error for object 0x7fa5eb4bb6b8: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6

这个可能是 gem 的 C 扩展中发生的错误,但并不确定,在其他情况下也可能发生上述的错误,从输出的语义来看应该是请求了一个已经被析构的对象。

Bad address (src/fq.cpp:91)
Abort trap: 6

这个是我对测试代码做了一点点修改后出现的提示错误,正是用这条提示错误找到了上面说的 github 中报告的问题,并把 zeromq 的版本降到了 3.2。 在将 zeromq 的版本降到 3.2 后,上面例子链接中的示例就可以正常运行了(并没有测试所有的示例)。

No Reply at the moment.
You need to Sign in before reply, if you don't have an account, please Sign up first.