Postgres分割故障红宝石宝石

时间:2011-12-06 11:06:17

标签: ruby postgresql rspec segmentation-fault rails-postgresql

我正在尝试运行这个项目https://github.com/eLobato/cartodb-rb-client,但显然我的rvm搞砸了或pg有一个可怕的错误。 这是错误跟踪

/usr/bin/ruby1.8 -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb"
/home/daniel/.rvm/gems/ruby-1.9.2-p290@cartodb-rb-client/gems/pg-0.11.0/lib/pg_ext.so: [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

Aborted
rake aborted!
ruby -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb" failed

Tasks: TOP => spec
(See full trace by running task with --trace)

分段故障线确实让我很烦,因为我试图重新安装pg但没有用。我正在运行Ubuntu 11.10,我已经安装了ruby 1.9.2和1.8.7

有任何线索吗?

4 个答案:

答案 0 :(得分:2)

我也有这个错误。修复了我删除系统上安装的所有Ruby版本,然后重新安装1.9.3

的问题

像这样:

$ rvm remove all

$ rvm install ruby-1.9.3-p392

答案 1 :(得分:0)

您正在运行系统Ruby 1.8.7解释器,但以某种方式加载通过rvm安装在Ruby 1.9.2下安装的pg gem。

Ruby 1.8.7和1.9.2具有截然不同的ABI,因此它们的扩展不可互换。

答案 2 :(得分:0)

对我来说,它似乎是我的Gemfile.lock中的pg gem的版本。我在那里有0.13.2,它似乎不适用于Ruby 1.9.3。我跑了bundle update pg并获得了0.14.0,然后事情就开始了。

答案 3 :(得分:-1)

分段错误是,当程序访问内存时,哪个内核不期望(超出索引,内存分配块等)。

当你尝试时,你看到了什么:

ruby -S bundle --trace exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb"

作为回溯建议给你?